《CSAPP》链接:处理目标文件的工具
2010-07-03 12:02
405 查看
粗略看完了第七章:链接。
回想起, 去年安装tokyocabinet后。
gcc -I/usr/local/include tc_example.c -o tc_example /
> -L/usr/local/lib -ltokyocabinet -lz -lbz2 -lrt -lpthread -lm -lc
gcc编译tc_example.c成功后, 通过./tc_example运行,出现以下错误:
./tc_example: error while loading shared libraries: libtokyocabinet.so.8: cannot open shared object file: No such file or directory
湛哥教我配ld、ldd,配置完成后。./tc_example能正确调用libtokyocabinet的共享目标(动态链接库), 运行正常。
gcc/g++在执行编译工作的时候,总共需要4步 参见:http://www.linuxsky.org/doc/dev/200905/362.html
-S 只激活预处理和编译,就是指把文件编译成为汇编代码
-c 只激活预处理,编译,和汇编,也就是他只把程序做成obj文件
-v选项的输出内容, gcc swap.c main.c -o main -v
包含了执行编译的整个过程, --Source--> Pre processor(cpp) --Modifyed Source--> Compiler(cc1) --Assermbly--> Assembler(as) --Relocatable object--> Linker(ld) --Executable object-->
标记一下, 所以直接引用csapp书中内容了:
Tools for Manipulating Object Files
There are a number of tools available on Unix systems to help you understand and manipulate object files.
In particular, the GNU binutils package is especially helpful and runs on every Unix platform.
AR: Creates static libraries, and inserts, deletes, lists, and extracts members.
STRINGS: Lists all of the printable strings contained in an object file.
STRIP: Deletes symbol table information from an object file.
NM: Lists the symbols defined in the symbol table of an object file.
SIZE: Lists the names and sizes of the sections in an object file.
READELF: Displays the complete structure of an object file, including all of the information encoded in the
ELF header. Subsumes the functionality of SIZE and NM.
OBJDUMP: The mother of all binary tools. Can display all of the information in an object file. Its most
useful function is disassembling the binary instructions in the .text section.
Unix systems also provide the ldd program for manipulating shared libraries:
LDD: Lists the shared libraries that an executable needs at run time.
回想起, 去年安装tokyocabinet后。
gcc -I/usr/local/include tc_example.c -o tc_example /
> -L/usr/local/lib -ltokyocabinet -lz -lbz2 -lrt -lpthread -lm -lc
gcc编译tc_example.c成功后, 通过./tc_example运行,出现以下错误:
./tc_example: error while loading shared libraries: libtokyocabinet.so.8: cannot open shared object file: No such file or directory
湛哥教我配ld、ldd,配置完成后。./tc_example能正确调用libtokyocabinet的共享目标(动态链接库), 运行正常。
gcc/g++在执行编译工作的时候,总共需要4步 参见:http://www.linuxsky.org/doc/dev/200905/362.html
-S 只激活预处理和编译,就是指把文件编译成为汇编代码
-c 只激活预处理,编译,和汇编,也就是他只把程序做成obj文件
-v选项的输出内容, gcc swap.c main.c -o main -v
包含了执行编译的整个过程, --Source--> Pre processor(cpp) --Modifyed Source--> Compiler(cc1) --Assermbly--> Assembler(as) --Relocatable object--> Linker(ld) --Executable object-->
标记一下, 所以直接引用csapp书中内容了:
Tools for Manipulating Object Files
There are a number of tools available on Unix systems to help you understand and manipulate object files.
In particular, the GNU binutils package is especially helpful and runs on every Unix platform.
AR: Creates static libraries, and inserts, deletes, lists, and extracts members.
STRINGS: Lists all of the printable strings contained in an object file.
STRIP: Deletes symbol table information from an object file.
NM: Lists the symbols defined in the symbol table of an object file.
SIZE: Lists the names and sizes of the sections in an object file.
READELF: Displays the complete structure of an object file, including all of the information encoded in the
ELF header. Subsumes the functionality of SIZE and NM.
OBJDUMP: The mother of all binary tools. Can display all of the information in an object file. Its most
useful function is disassembling the binary instructions in the .text section.
Unix systems also provide the ldd program for manipulating shared libraries:
LDD: Lists the shared libraries that an executable needs at run time.
相关文章推荐
- GNU 目标文件处理工具
- Unix处理目标文件的工具
- UNIX 处理目标文件的工具
- GNU中的处理目标文件的若干工具
- GNU中的处理目标文件的若干工具
- Unix中,处理目标文件的工具
- GNU中的处理目标文件的若干工具
- linux交换分区 free dd 链接文件 压缩工具 归档工具
- 在Windows命令行中使用vs2005提供的编译、链接等工具对源程序进行处理
- 目标文件格式分析工具: ar,nm,objdump,objcopy,readelf
- 目标文件格式分析工具: ar,nm,objdump,objcopy,readelf
- Linux:文件格式化与相关处理及sed工具
- Web---文件上传-用apache的工具处理、打散目录、简单文件上传进度
- Java 工具(jmap,jstack)在linux上的源码分析(六) -F 参数 读取动态链接共享库文件中的符号表
- SVN管理工具Cornerstone之:文件图标说明和处理
- 程序员的自我修养-链接、装载与库-3 目标文件
- Linux学习之文件处理命令(三)链接命令
- 目标文件格式分析工具
- iOS-svn工具Cornerstone上传忽略.a文件的处理方法
- 批处理文件工具(java+shell命令实现)