今日学习了:
一:编译器(gcc)GNU计划工具
源文件到可执行文件有四个步骤:预处理>编译>汇编>链接
什么是交叉编译:在当前CPU平台编译出能够在其他CPU平台下运行程序
如何实现交叉编译:安装交叉编译器
二:预处理:1:头文件展开;2.宏替换;3.条件编译;
分清楚了<>VS“”的区别:搜索路径不同;前者包含系统包含的头文件;后者先在当前目录查找,再到系统文件查找;
三:编译:
编译(-c):语法检查,词法分析
如何编译优化:去除一些无用变量
四:汇编:
将目标文件转化为汇编文件
C和汇编访问硬件时,如何选择语言:当对硬件做复杂操作时用C;当对硬件做初始化时用汇编(效率快)
预处理不作语法检查,代码不安全
还学习gcc中的一些命令:-E -D -o -w -Wall -O1 -O2 -O3
晚上还写了题目:请编写一个c函数,该函数给出一个字节中被置为1的位的个数的编程