objdump -i //显示当前计算机可用的架构和目标结构列表
GCC编译选项
-g,生成供调试用的可执行文件,可以在gdb中运行。由于文件中包含了调试信息因此运行效率很低,且文件也大不少-S:生成名为source_file.s的汇编代码-O(大写的字母O),编译器对代码进行自动优化编译,输出效率更高的可执行文件。-O 后面还可以跟上数字指定优化级别,如:gcc -O2 source_file.c 数字越大,越加优化。-w 关闭编译时的警告,也就是编译后不显示任何warning,因为有时在编译之后编译器会显示一些例如数据转换之类的警告,这些警告是我们平时可以忽略的。-Wall 编译后显示所有警告。-W 选项类似-Wall,会显示警告,但是只显示编译器认为会出现错误的警告。-l 指定所使用到的函数库,本例中链接器会尝试链接名为libxxx.a的函数库。-L 指定函数库所在的文件夹,本例中链接器会尝试搜索/path/to/lib文件夹。-I 指定头文件所在的文件夹,本例中预编译器会尝试搜索/path/to/include文件夹。-Dname预定义一个名为name 的宏,值为1。例子: $ gcc -DTEST_CONFIG test.c -o test-Dname =definition 预定义名为name ,值为definition 的宏。-fno-builtin 就是在定义函数的时候和C语言的内建函数重名了,不使用C语言的内建函数,而使用自己定义的-fno-PIC PIC全称是Position Independent Code,该选项禁止位置相关的代码
Makefile的一些规则
**$(call <expression>,<parm1>,<parm2>,<parm3>,...)**
expression参数中的变量$(1)、$(2)、$(3)等,会被参数parm1,parm2,parm3依次取代。而expression的返回值就是 call 函数的返回值。
