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
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
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)
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
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)
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
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
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
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
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
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
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
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
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
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)
Extension 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)
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
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
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
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
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
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
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
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
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
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)
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
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
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
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
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
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
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
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)
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
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
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
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
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)
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
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
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
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++
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
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)
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
Datatype in C++
to function, function-to-pointer conversion does not take place (see fnRef above), but it does take place when initializing a reference to function pointer:
Reference_(C++)
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
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
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
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
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)
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
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
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
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)
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
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
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)
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
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)
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
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
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)
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
**
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
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
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)
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
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
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
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)
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
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
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
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
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
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)
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
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
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
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
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
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
Function for sorting in C++ standard library
void pointers, as qsort does. Also, qsort accesses the comparison function using a function pointer, necessitating large numbers of repeated function calls
Sort_(C++)
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
Type of program control instruction
with the address of the subroutine to be called specified in memory. Function Pointers are typically implemented with indirect subroutine calls. Indirect
Indirect_branch
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)
Programming language implementation problem
This λ function carries the functions f and g (or pointers to them) as internal state. The problem in this case exists if the compose function allocates
Funarg_problem
On finding a repeating loop in a sequence
sequence by storing and copying pointers, function evaluations, and equality tests; therefore, it qualifies as a pointer algorithm. The algorithm uses O(λ
Cycle_detection
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)
which also introduced the concept of function closure or funarg. The C programming language allows function pointers to be passed as parameters, which accomplish
Procedural_parameter
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
C programming language standard, current revision
<stdlib.h> to determine the byte alignment of a pointer. Add free_sized() and free_aligned_sized() functions in <stdlib.h> to free memory more efficiently
C23_(C_standard_revision)
Esoteric, minimalist programming language
language consists of only eight simple commands, a data pointer, and an instruction pointer. Brainfuck is an example of a so-called Turing tarpit: it
Brainfuck
travel, tourism, insurance
FUNCTION POINTER
FUNCTION POINTER
FUNCTION POINTER
FUNCTION POINTER
FUNCTION POINTER
FUNCTION POINTER
FUNCTION POINTER
FUNCTION POINTER
FUNCTION POINTER
travel, tourism, insurance