GCC命令:
由于不够认真似乎缺少了一个 objcopy
GNU binutils包命令。
ar:选项 -crv lib.a sam1.o sam2.o
创建静态库,插入,删除,列出,提取成员。
strings:
列出一个目标文件中所有可打印的字符串。
strip:
从目标文件中删除符号表信息。
nm:
列出一个目标文件的符号表中定义的符号。
size:
列出目标文件中节的名字和大小。
readelf:
显示一个目标文件的完整结构,包括ELF头中编码的所有信息。包含SIZE和NM的功能。
objdump:
所有二进制工具之母。能够显示一个目标文件中所有的信息。它最有用的功能是反汇编。text节中的二进制指令。
ldd:
列出一个可执行文件在运行时需要的共享库。
##################################################################
Makefile用到的变量:
$@:在规则中代表目标名,如果规则中喊有多个目标名,它将列举所有目标
$%:仅在目标是存档文件成员时起作用,代表目标。
如果目标foo.a(bar.o)中$@代表foo.a$%代表bar.o
$<:在规则中代表第一依赖文件名
$?:代表在规则中所有以空格隔开的依赖文件名,如果依赖是存档文件的成员则只有成员名被列出。
$^:代表在规则中所有以空格隔开的依赖文件名,如果依赖是存档文件的成员则只有成员名被列出。
阅读(1804) | 评论(0) | 转发(0) |