Search references for FUNCTION POINTER. Phrases containing FUNCTION POINTER
See searches and references containing FUNCTION POINTER!FUNCTION POINTER
Pointer that points to a function
A function pointer, also called a subroutine pointer or procedure pointer, is a pointer referencing executable code, rather than data. Dereferencing the
Function_pointer
Object which stores memory addresses in a computer program
Bounded pointer Buffer overflow Cray pointer Fat pointer Function pointer Hazard pointer Indirection Iterator Opaque pointer Pointee Pointer swizzling
Pointer (computer programming)
Pointer_(computer_programming)
Mechanism for supporting dynamic dispatch
virtual function (or method), most compilers add a hidden member variable to the class that points to an array of pointers to (virtual) functions called
Virtual_method_table
Technique for creating lexically scoped first class functions
provide a pointer to a method with a similar syntax to a function pointer. Standard C allows writing a typedef for a pointer to a function type using
Closure (computer programming)
Closure_(computer_programming)
Type qualifier denoting the data as being read-only
addition, a (non-static) member-function can be declared as const. In this case, the this pointer inside such a function is of type const T* rather than
Const
Mechanism by which a computer program can load a library (or other binary) into memory
result of dlsym() is a void pointer. However, a function pointer is not required to even have the same size as a data object pointer, and therefore a valid
Dynamic_loading
Pointer that does not point to a valid object
Dangling pointers and wild pointers in computer programming are pointers that do not point to a valid object of the appropriate type. These are special
Dangling_pointer
Data types supported by the C programming language
nullptr) to express a null pointer constant. nullptr is unambiguously a pointer, and may convert to any object or function pointer, and allows a specific
C_data_types
Programming construct
of a function object is in writing callback functions. A callback in procedural languages, such as C, may be performed by using function pointers. However
Function_object
Computer code structure with a table of pointers to functions or similar
to directly map method names to a corresponding function pointer, or a simple array of function pointers with known indices. Common use cases include the
Dispatch_table
Keyword in programming languages
a pointer to a function that returns an integer and takes as arguments a float followed by an integer. When a function returns a function pointer, it
Typedef
General-purpose programming language
achieved with pointers. A function's return value may be ignored, and while a function cannot normally be nested inside another function, some translators
C_(programming_language)
Function that takes one or more functions as an input or that outputs a function
return 0; } The qsort function from the C standard library uses a function pointer to emulate the behavior of a higher-order function. Macros can also be
Higher-order_function
Data type simulating a pointer with additional features
In computer science, a smart pointer is an abstract data type that simulates a pointer while providing added features, such as automatic memory management
Smart_pointer
Extension for closures/lambdas to the C programming language
manner as a function pointer. The block may be assigned to variables, passed to functions, and otherwise treated like a normal function pointer, although
Blocks_(C_language_extension)
Programming language feature
3, 4, 5] If functions are represented with bare function pointers, we can not know anymore how the value that is outside of the function's body should
First-class_function
Return type for functions that do not output values when called
void in memory. A program can convert a pointer to any type of data (except a function pointer) to a pointer to void and back to the original type without
Void_type
Anomaly in computer security and programming
the shellcode. Once the function returns, execution will resume at the attacker's shellcode; By overwriting a function pointer or exception handler to
Buffer_overflow
Data structure used in computer programs
pointer. At function return, the stack pointer is instead restored to the frame pointer, the value of the stack pointer just before the function was called
Call_stack
Form of text that defines C code
advanced use of pointers – passing a pointer to a pointer. An int pointer named a is defined on line 9 and its address is passed to the function on line 10
C_syntax
Computer science process
called a virtual function table (vtable) that defines the name-to-implementation mapping for a given class as a set of member function pointers. This is purely
Dynamic_dispatch
Software design pattern
This can be achieved by mechanisms such as the native function pointer, the first-class function, classes or class instances in object-oriented programming
Strategy_pattern
Coding guidelines by Gerald J. Holzmann
not be hidden in macro definitions or inside typedef declarations. Function pointers are not permitted. All code must be compiled, from the first day of
The Power of 10: Rules for Developing Safety-Critical Code
The_Power_of_10:_Rules_for_Developing_Safety-Critical_Code
Function reference passed to and called by another function
Pascal, Modula-2 and other languages, a callback function is stored internally as a function pointer. Using the same storage allows different languages
Callback (computer programming)
Callback_(computer_programming)
Software anomaly
metadata) and uses the resulting pointer exchange to overwrite a program function pointer. For example, on older versions of Linux, two buffers allocated next
Heap_overflow
Table specifying actions based on conditions
be a lookup table containing a range of possible input values and a function pointer to the section of code to process that input. Multiple conditions can
Decision_table
Standard library function in the C programming language
kinds of data (polymorphism) is achieved by taking a function pointer to a three-way comparison function, as well as a parameter that specifies the size of
Qsort
demonstrates this: // No captures, the lambda is implicitly convertible to a function pointer. auto a = [] -> void {}; // x is captured by value and y is captured
Examples of anonymous functions
Examples_of_anonymous_functions
American family R&B vocal group
The Pointer Sisters are an American female vocal group from Oakland, California, who achieved mainstream success during the 1970s and 1980s, selling around
The_Pointer_Sisters
Computer exploit using just-in-time compilation
overflow or use after free bug could allow the attack to modify a function pointer or return address. This causes the CPU to execute instructions in a
JIT_spraying
Cyber attack where any code can be run
copy of Super Mario World by utilizing an out-of-bounds read of a function pointer that points to a user controlled buffer to execute arbitrary code.
Arbitrary_code_execution
Method of transferring program control to another part of a program
method table" but essentially performing exactly the same purpose. This pointer function method can result in saving one machine instruction, and avoids the
Branch_table
Dynamic memory management in the C programming language
the library function malloc is used to allocate a block of memory on the heap. The program accesses this block of memory via a pointer that malloc returns
C_dynamic_memory_allocation
Programming technique using indirect jumps
function. The function pointer is then simply the address of the trampoline. This avoids having to use "fat" function pointers for nested functions which
Trampoline_(computing)
Language construct in Qt framework
received by other objects using special member functions known as slots. This is similar to C/C++ function pointers, but the signal/slot system ensures the type-correctness
Signals_and_slots
Concept in assembly language programming
if the architecture has a base pointer (also known as frame pointer) and a stack pointer: Pushes current base pointer onto the stack, so it can be restored
Function prologue and epilogue
Function_prologue_and_epilogue
Calling conventions used in x86 architecture programming
leaf-node functions (functions which do not call any other function(s)), a 128-byte space is stored just beneath the stack pointer of the function. The space
X86_calling_conventions
Foreign function interface for the Java language
declaration of a pointer to identify the specific function; (JNIEnv *env); // Parameter env is a pointer to the JNIEnv pointer, the pointer-to-pointer; jclass
Java_Native_Interface
Opaque data type which stores a memory address
computer programming, an opaque pointer is a special case of an opaque data type, a data type declared to be a pointer to a record or data structure of
Opaque_pointer
Family of higher-order functions
In functional programming, a fold is a higher-order function that analyzes a recursive data structure and, through use of a given combining operation,
Fold_(higher-order_function)
Class of computer memory address reference
In computer science, a tagged pointer is a pointer (concretely a memory address) with additional data associated with it, such as an indirection bit or
Tagged_pointer
Related programming concepts of responsibility for actions
their credentials or permissions. Delegate (CLI), a form of type-safe function pointer used by the Common Language Infrastructure (CLI), specifying both a
Delegation_(computing)
that can be called like a function. pointer to function; pointer to member function; functor; lambda expression. std::function is a template class that
Callable_object
Indicator showing where text would be input
display device that will respond to input, such as a text cursor or a mouse pointer. Cursor is Latin for 'runner'. A cursor is a name given to the transparent
Cursor_(user_interface)
Computer security exploit technique
top of the stack, and sets the instruction pointer to that value, and secondly, it increases the stack pointer value by four (equivalent to a pop operation)
Return-oriented_programming
Mathematical-logic system
mechanism of function pointers. However, function pointers are an insufficient condition for functions to be first class datatypes, because a function is a first
Lambda_calculus
2011 edition of the C++ programming language standard
std::unique_ptr. Function object base classes (std::unary_function, std::binary_function), adapters to pointers to functions and adapters to pointers to members
C++11
Inheritable and overridable function or method for which dynamic dispatch is facilitated
such a reference or pointer can be bound (linked) either "early" (by the compiler), according to the declared type of the pointer or reference, or "late"
Virtual_function
Intermediate representation defined within the CLI specification
and return Throwing exceptions Monitor-based concurrency Data and function pointers manipulation needed for C++/CLI and unsafe C# code The Common Intermediate
Common_Intermediate_Language
Concept in programming language design
still be manipulated in most of the above fashions (via function pointers). In Smalltalk, functions (methods) are first-class objects, just like Smalltalk
First-class_citizen
Datatype in C++
to function, function-to-pointer conversion does not take place (see quxRef above), but it does take place when initializing a reference to function pointer:
Reference_(C++)
Comparison of two programming languages
simulated using pointers. The following segment is similar to the Pascal segment above: // function accepts an int (by value) and a pointer to int (also
Comparison_of_Pascal_and_C
Data table used to control program flow
varies. Some languages provide a direct function reference (i.e. pointer) that can be used to invoke a function directly, but some languages do not. Some
Control_table
Technique in computer security
control the flow of execution when the code uses that address as a function pointer and redirects it to the sprayed heap. If the exploit succeeds in redirecting
Heap_spraying
Type of computer science algorithm
constant amount of extra space, counting everything including function calls and pointers. However, this form is very limited as simply having an index
In-place_algorithm
Software security techniques
from being altered by clobbered pointers, they do not protect any other data or the pointers themselves. Function pointers especially are a problem here
Buffer_overflow_protection
Function that loads and executes a new child process
argument after argn has to be a null pointer. The argv argument is an array of character pointers. The last pointer in the array must be null to indicate
Spawn_(computing)
Hall. ISBN 978-0-13-604259-4.. The function may be stored as a reference to a function, such as a function pointer. In this article, the term "subroutine"
Glossary_of_computer_science
A delegate is a form of type-safe function pointer used by the Common Language Infrastructure (CLI). Delegates specify a method to call and optionally
Delegate_(CLI)
own solution for adding generics to the language, Pizza also added function pointers and algebraic types with case classes and pattern matching. In August
Pizza_(programming_language)
Topics referred to by the same term
programming languages **, a pointer to a pointer (or double pointer) in C syntax **, interpolation of keyword arguments into function calls in Python **, symbol
**
Comparison of programming languages
that uses function pointers. Some compilers will produce non-working code if a function pointer declared extern "C" points to a C++ function that is not
Compatibility_of_C_and_C++
Term in computer security
function using the stack – an indirect backward-edge transfer. When a function pointer is called, such as from a virtual table, we say there is an indirect
Control-flow_integrity
General-purpose programming language
2019. Retrieved April 14, 2019. BillWagner. "Unsafe code, pointers to data, and function pointers". Microsoft Learn. Archived from the original on July 4
C Sharp (programming language)
C_Sharp_(programming_language)
Techniques to alter a program
//Call the original function. cout << "Hook function end\n\n"; } int main() { VirtualClass* myClass = new VirtualClass(); //Create a pointer to a dynamically
Hooking
Microsoft's implementation of the shared library concept in Windows and OS/2
printf("ERROR: unable to load DLL\n"); return 1; } // Get function pointer addNumbers = (importFunction) GetProcAddress(hinstLib, "AddNumbers"); if (addNumbers
Dynamic-link_library
Keyword in C (programming language)
that there is only one pointer to a memory block, it can produce better optimized code. For instance, in a function updatePointers() which adds a value
Restrict
Programming language
directly. These extensions included null-terminated strings, pointer arithmetic, function pointers, an address-of operator, and unsafe typecasts. Turbo Pascal
Pascal_(programming_language)
Instruction set architecture
the stack pointer, although this may be optional. For the N32 and N64 ABIs, a function must preserve the $s0-$s7 registers, the global pointer ($gp or $28)
MIPS_architecture
variance Virtual class Virtual function (also called virtual method) Virtual function pointer (also called virtual method pointer) Virtual inheritance (Object
Index of object-oriented programming articles
Index_of_object-oriented_programming_articles
Defines the inputs and outputs for a function, subroutine or method
is commonly known as a function prototype. In C/C++, a function declaration reflects its use; for example, a function pointer with the signature (int)(char
Type_signature
Feature of some programming languages
object. Dynamic dispatch can be done by looking up this value in a function pointer branch table. Here is a simple example in C: typedef void (*CollisionCase)(void);
Multiple_dispatch
Computer fault caused by access to restricted memory
uninitialized pointer (wild pointer, which points to a random memory address) Dereferencing or assigning to a freed pointer (dangling pointer, which points to memory
Segmentation_fault
Mechanism of function calls in computers
full-descending stack. In addition, the stack pointer must always be 4-byte aligned, and must always be 8-byte aligned at a function call with a public interface. This
Calling_convention
a pointer or array index. It is "wild" in the sense that it cannot be predicted to behave consistently. In other words, a wild branch is a function pointer
Wild_branch
Abstract machine used as a target for compilers
front of that, clearing the stack, and setting C to the closure's function pointer. The previous values of S, E, and the next value of C are saved on
SECD_machine
COM-based Visual Basic scripting language
and ExecuteGlobal functions to evaluate and execute script commands built during the execution of another script; a function-pointer system via GetRef
VBScript
Programming statement for branching control based on a value
value encodes what is otherwise in the case section – as a function pointer or anonymous function or similar mechanism. In a language that does not provide
Switch_statement
Program analyzer research project
analysis). It supports nested loops and recursive functions, pointers and side-effects, and function-pointers as well as concurrent programs. Like all programs
T2_Temporal_Prover
Dog breed
[ˈviʒlɒ]), also known as Hungarian Vizsla, Magyar Vizsla or Hungarian Pointer, is a dog breed from Hungary and belongs to the Fédération Cynologique
Vizsla
Scripting language created in 1994
In lieu of function pointers, functions in PHP can be referenced by a string containing their name. In this manner, normal PHP functions can be used
PHP
Memory-safe dialect of the C programming language
introducing these new pointer types is to avoid common problems when using pointers. Take for instance a function, called foo that takes a pointer to an int: int
Cyclone (programming language)
Cyclone_(programming_language)
Universal type in logic and computer science
for an object at runtime. In C and C++, the void pointer type (void*) can accept any non-function pointer, even though the void type is not the universal
Any_type
Multi-paradigm system programming language
literals, function, which is simply a pointer to a stack-allocated function, and delegate, which also includes a pointer to the relevant stack frame, the surrounding
D_(programming_language)
MacOS framework
objects as function pointer arguments. It will then use the libffi library to dynamically create a closure and pass it to the underlying function/method.
RubyCocoa
Compile-time transformation
Alternatively, the target language may support indirect calls through function pointers, which may be more efficient and extensible than a dispatch-based
Defunctionalization
Ancient Greek analogue astronomical computer
functions of the pointers were deduced from the remains of the dials on the back face, and reasonable, appropriate gearage to fulfill the functions was
Antikythera_mechanism
Computer processor by Xilinx
CALL instructions. It is not possible to implement computed jumps or function pointers[dubious – discuss]. The only information which flows from the sequencing
PicoBlaze
1995 edition of the Fortran programming language standard
keyword arguments; POINTER and TARGET arguments (see Pointers); POINTER function result; new-style array arguments and array functions (Array handling)
Fortran_95_language_features
Attribute of data
Bool denoting functions taking an integer and returning a Boolean. In C, a function is not a first-class data type but function pointers can be manipulated
Data_type
Document that proposed additions to the C++ standard library
file: Polymorphic function wrapper (function) – can store any callable function (function pointers, member function pointers, and function objects) that uses
C++_Technical_Report_1
Hash function that is suitable for use in cryptography
cryptographic hash function to generate a unique key, the "content address". The file system's directory stores these addresses and a pointer to the physical
Cryptographic_hash_function
Extent to which a programming language discourages type errors
memory allocation function, such as malloc, with an argument indicating how many bytes are required. The function returns a void pointer (void*), which the
Type_safety
Data structure
These memory maps are used to resolve memory addresses (such as function pointers) to actual symbols. BIOS for the IBM Personal Computer and compatibles
Memory_map
would be an interface pointer, that is, a pointer to a pointer to a virtual method table (which is an array of function pointers). The Collection class
Variant_type_(COM)
Description of ownership of identifiers across translation units
that uses function pointers. Some compilers will produce non-working code if a function pointer declared extern "C" points to a C++ function that is not
Linkage_(software)
Variable defined outside any function block in C programming
between function calls. The variable is still local, since it can only be accessed by name inside the function that defined it. But a reference (pointer) to
External_variable
Topics referred to by the same term
functor logic Function word in linguistics In computer programming: Functor (functional programming) Function object used to pass function pointers along with
Functor_(disambiguation)
Assembly language and bytecode for web browsers
ability for functions to return multiple values, mass memory initialize/copy instructions, and reference types, which are opaque pointers to objects outside
WebAssembly
State of being protected from memory access bugs
overflows and dangling pointers. For example, Java is memory-safe because its runtime error detection checks array bounds and pointer dereferences. By contrast
Memory_safety
travel, tourism, insurance
FUNCTION POINTER
FUNCTION POINTER
FUNCTION POINTER
FUNCTION POINTER
FUNCTION POINTER
FUNCTION POINTER
FUNCTION POINTER
FUNCTION POINTER
FUNCTION POINTER
travel, tourism, insurance