
SC100 C Compiler
v
About This Book
Audience. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xix
Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xix
Suggested Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xx
Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xx
Acronyms and Abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xx
Chapter 1
Introduction
1.1
1.2
1.3
1.3.1
1.3.2
Overview of the SC100 C Compiler. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-1
The Global Optimization Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-2
Compiling Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-3
The Compiler Shell Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-3
Stages in the C Compilation Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-4
Chapter 2
Getting Started
2.1
A Quick Start . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-1
Chapter 3
Using the SC100 C Compiler
3.1
3.1.1
3.1.2
3.1.3
3.1.4
3.2
3.2.1
3.2.1.1
3.3
3.3.1
3.3.1.1
3.3.1.2
3.3.1.3
3.3.2
3.3.2.1
3.3.2.2
3.3.2.3
The Shell Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-1
The C Compilation Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-2
Global Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-4
File Types and Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-7
Environment Variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-9
Invoking the Shell. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-10
Command Line Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-10
Using a Command File. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-10
Shell Control Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-11
Controlling the Behavior of the Shell. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-15
Controlling where the shell stops processing . . . . . . . . . . . . . . . . . . . . . .3-15
Specifying a shell command file. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-16
Displaying the shell Help page. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-16
Specifying Preprocessing Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-17
Changing preprocessed output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-17
Defining and undefining preprocessor macros. . . . . . . . . . . . . . . . . . . . .3-18
Adding directories to the #include file path . . . . . . . . . . . . . . . . . . . . . . .3-18
Table of Contents