You copied the Doc URL to your clipboard.

Arm Compiler armlink User Guide : Methods of importing linker-defined symbols in C and C++

Methods of importing linker-defined symbols in C and C++

You can import linker-defined symbols into your C or C++ source code. They are external symbols and you must take the address of them.

The only case where the & operator is not required is when the array declaration is used, for example extern char symbol_name[];.

The following examples show how to obtain the correct value:

Importing a linker-defined symbol
extern int Image$$ER_ZI$$Limit;
heap_base = (uintptr_t)&Image$$ER_ZI$$Limit;
Importing symbols that define a ZI output section
extern int Image$$ER_ZI$$Length;
extern char Image$$ER_ZI$$Base[];
memset(Image$$ER_ZI$$Base, 0, (size_t)&Image$$ER_ZI$$Length);
Was this page helpful? Yes No