ARM C/C++ Compiler User Guide
INTRODUCTION
C/C++ COMPILER
Running the Compiler from the Command Line
Compiler command line options
Compile Only (/c)
Generate Assembler Code (/Fa)
Generate Assembler Code Listing (/Fc)
Generate Debug Information (/DEBUG)
Define Identifier (/D)
Generate Cortex-M3 Code (/M3)
Use __cdecl Calling Convention (/Gd)
Use __fastcall Calling Conventions (/Gr)
Use __stdcall Calling Convention (/Gz)
Stack Frame Pointer Elimination (/Ok)
Conditional Branch Elimination (/Ob)
Extended Common Sub-Expression Elimination (/Oh)
Dead Code Elimination (/Oe)
Conditional Constant Propagation (/Oo)
Loop Transformation (/Ol)
Interrupt Vector Offset (/VO:)
Generate Relocatable Vectors (/Vr)
Warning Level 0 (/W0)
Warning Level 1 (/W1)
Warning Level 2 (/W2)
Warning Level 3 (/W3)
Warning Level 4 (/W4)
Warning as Errors (/WX)
Structure and union packing (/Zp)
C Language Definition
ANSI C Support
1999 ANSI C Support
Data Sizes
Arithmetic Conversions
C++ Language Definition
Embedded C++
Data Types
Function Calling Conventions
Introduction
CDecl Calling Convention
Fast Call Calling Convention
StdCall Calling Convention
Scratch Registers
Inline Functions
Disabling and Enabling ARM Core Interrupts
Converting a C Project to C++
Pragmas
#pragma version
#pragma date
#pragma time
#pragma message
#pragma code_seg
#pragma const_seg
#pragma bss_seg
#pragma data_seg
#pragma pack
#pragma pid
Interrupt Functions
ARM
Manual Coding of Interrupt Vector
Automatic Coding of Interrupt Vector
Cortex
Automatic Coding of Interrupt Vector
In-Line Assembler Code
Introducing In-Line Assembler Code
Accessing Global Variables
Predefined Macros
C++ Predefined Macros
ANSI Predefined Macros
Compiler Specific Predefined Macros
LINKER
Running the Linker from the Command Line
Default Filenames
Linker Response File
Linker Command Line Options
Generate S Record Output (/SREC)
Generate S19 Record Output (/S19)
Generate S28 Record Output (/S28)
Generate S37 Record Output (/S37)
Generate S29 Record Output (/S29)
Generate S39 Record Output (/S39)
Generate Intel Hex Output (/HEX)
Generate IEEE Binary Output (/IEEE)
Generate Plain Binary Output (/BIN)
Generate Error File (/Fe)
Specify Object Code Filename (/Fo)
Specify Ram Limits (/RAM)
Specify ROM Limits (/ROM:)
Place Program Code in RAM (/NOROM)
Specify Segment Addresses and Order (/CODE /MIXED /RDATA /DATA)
Use Linker Script (/Ds:)
Translate Sections Names (/Ts)
Linker Scripts
Introduction
Linker Script Language
File Structure
Memory Block
Sections Block
Sections Block Contents
Assignments
Output Section Definition
Section Definition Content
Storage Address
Run-time Address
Alignment
Type Specification
Memory Region Name
Groups
Assignment Statements
Expressions
Drag And Drop Scripting
Introduction
C LIBRARY FUNCTIONS
Introduction to C Library Functions
Detailed Descriptions
Introducing Detailed Descriptions
abs() absl()
acos() acosl()
asctime()
asin() asinl()
atan() atanl()
atoi() atol() atof()atolf()
calloc()
ceil() ceill()
clearerr()
cos() cosl()
cosh() coshl()
difftime()
_ecvt() _ecvtl
exit()
exp() expl()
fabs() fabsl()
_fcvt() _fcvtl
ferror()
fgetc()
fgets()
fileno()
floor() floorl()
fprintf()
fputs()
free()
frexp() frexpl()
fscanf()
getc()
getch()
getchar()
getche()
gets()
gmtime()
isalnum()
isalpha()
isascii()
iscntrl()
isdigit()
isgraph()
islower()
isprint()
ispunct()
isspace()
isupper()
isxdigit()
itoa()
ldexp() ldexpl()
log() logl()
log10() log10l()
ltoa()
malloc()
memchr()
memcmp()
memcpy()
memmove()
memset()
mktime()
pow() powl()
printf()
putc()
putch()
putchar()
puts()
rand()
realloc()
sbrk()
scanf()
sprintf()
sin() sinl()
sinh() sinhl()
sqrt() sqrtl()
srand()
sscanf()
strcspn()
strcat()
strchr()
strcmp()
strcpy()
_stricmp()
strlen()
strncat()
strncmp()
strncpy()
strpbrk()
strrchr()
strspn()
strstr()
tan() tanl()
tanh() tanhl()
time()
toascii()
tolower()
toupper()
ultoa()
ungetc()
ungetch()
vprintf()
vsprintf()
vfprintf()
C++ COMPILER LIBRARY FUNCTIONS
String Class Functions
Member Functions
Constructors
Destructors
Assignment Operators
Iterator Access
Size and Capacity Operations
Element Access
operator+=
append
assign
insert
erase
replace
Data Access
Copy
Swap
find
rfind
find_first_of
find_last_of
find_first_not_of
find_last_not_of
substr
compare
Non-Member Functions
Addition
Relational
Swap
new and delete