最初,UNIX系统实验室(USL)开发和发布了Executable and linking Format (ELF)这样的二进制格式。在SVR4和Solaris 2.x上,都做为可执行文件默认的 二进制格式。ELF比a.out和COFF更强大更灵活。结合一些适当的工具,程序员 使用ELF就可以在运行时控制程序的流程。
★2 ELF类型
三种主要的ELF文件类型:
.可执行文件:包含了代码和数据。具有可执行的程序。 例如这样一个程序
# file dltest dltest: ELF 32-bit LSB executable, Intel 80386, version 1, dynamically linked (uses shared libs), not stripped
[alert7@redhat62 dl]# export ELF_LD_LIBRARY_PATH=. [alert7@redhat62 dl]# ./dltest Call 'foo' in 'libfoo.so': From dltest:CALLED FROM LIBFOO libfoo:tseT gnidaoL cimanyD [alert7@redhat62 dl]# ./dltest -f bar bar:dlsym:'./libfoo.so: undefined symbol: bar' [alert7@redhat62 dl]# ./dltest -f bar -l ./libbar.so Call 'bar' in 'libbar.so': From dltest:CALLED FROM LIBBAR. libbar:Dynamic Loading Test