目录
前言.............................................................................................................1
目录.............................................................................................................1
第一章 C 预处理器.................................................................................1
第一节 预处理和编译的结构.............................................................................2
第二节 宏定义.....................................................................................................3
一. 不带参数的宏定义...................................................................................3
二. 带参数的宏定义.......................................................................................4
第三节 文件包含(#include 指令) .......................................................................6
第四节 条件编译.................................................................................................7
第五节 其它预处理指令.....................................................................................9
第二章 C 编译器...................................................................................10
第一节 编译的结构...........................................................................................11
第二节 C 编译器的数据调用协议...................................................................12
一. 内存模式和数据在内存中的存储格式.................................................12
二. 与汇编语言程序的接口.........................................................................18
三. SECTION.................................................................................................20
四. 函数调用接口.........................................................................................28
五. 中断函数调用接口.................................................................................34
六. C 编译器的限制...................................................................................36
第三节 C 编译器的特殊扩充...........................................................................38
一. 嵌入汇编.................................................................................................38
二. 中断相关的函数.....................................................................................41
三. I/O 变量的定义.......................................................................................46
四. direct 变量的定义...................................................................................47
五. 近程/远程变量(或函数)的定义.............................................................48
六. 函数的内嵌扩展.....................................................................................50
七. 更改SECTION 名..................................................................................52
八. 寄存器区的设置.....................................................................................53
九. 中断级别的设置.....................................................................................54
十. 是否使用系统堆栈的设置.....................................................................55
十一. 系统堆栈/用户堆栈都可用的设置...................................................56
十二. 不保存寄存器的中断函数.................................................................57
十三. 内置的函数.........................................................................................58
十四. 预定义的宏.........................................................................................63
第三章 C 库函数...................................................................................64
第一节 库函数概述...........................................................................................65
一. 库文件和内存模式..........................................................................65
二. 头文件.....................................................................................................66
三. 库文件对应的SECTION 和内存模式..................................................66
四. 依赖于系统的库函数.............................................................................66
第二节 库函数的协作.......................................................................................68
一. 库函数协作.............................................................................................68
二. 初始化和退出函数.................................................................................68
三. 低级库函数类型.....................................................................................68
四. 标准库函数和其所需调用的低级库函数.............................................69
第三节 低级库函数的详细说明.......................................................................70
一. open 函数................................................................................................70
二. close 函数...............................................................................................71
三. read 函数.................................................................................................71
四. write 函数................................................................................................72
五. lseek 函数...............................................................................................72
六. isatty 函数...............................................................................................73
七. sbrk 函数.................................................................................................73
八. _exit 函数................................................................................................74
九. _abort 函数.............................................................................................74
第四章 嵌入式C 语言的特殊之处......................................................75
第一节 StartUp 启动文件.................................................................................76
一. 如果强行不使用StartUp 启动文件..............................................76
二. 使用一个简单的StartUp 启动文件......................................................77
三. 随富士通C 编译器附带的StartUp 启动文件.....................................78
第二节 C 语言与汇编语言互相调用以及嵌入汇编.......................................82
附录一.......................................................................................................87
1 编译选项与集成开发环境........................................................................87
附录二.......................................................................................................96
1 库函数定义的类型,宏和函数...................................................................96
1