共 5 篇文章 |
|
}对于支持任意section名的目标文件格式,比如COFF、ELF格式,GNU C++将全局构造和全局析构信息分别放入 .ctors section 和 .dtors section 内当连接器生成的目标文件格式不支持任意section名字时,比如说ECOFF、XCOFF格式,连接器将通过名字来识别全局构造和全局析构,对于这些文件格式,连接器把与全局构造和全局析构的相关信息放入出现 CONST... 阅493 转7 评0 公众公开 11-08-26 17:33 |
从程序员角度看ELF-译文。运行时,系统将在main函数之前执行_init函数,在main函数返回后执行_fini函数。Modules for application (50006200):500061635000620c /lib/elf/libdl.so.1500062c8 /lib/elf/libc.so.450006000 /lib/ld-linux.so.1Modules for handle 8005ff008006f00 ./libfoo.so500062c8 /lib/elf/lib.so.450006163 5000620c /lib/e... 阅221 转5 评0 公众公开 11-08-26 17:30 |
ELF可执行文件格式的理解ELF可执行文件格式的理解。c 2: 00000000 0 SECTION LOCAL DEFAULT 1 3: 00000000 0 SECTION LOCAL DEFAULT 2 4: 00000000 0 SECTION LOCAL DEFAULT 3 5: 00000000 0 SECTION LOCAL DEFAULT 4 6: 00000000 0 SECTION LOCAL DEFAULT 5 7: 00000000 4 OBJECT GLOBAL DEFAULT 2 gv_inited 8: 00000000 11 FUNC GLOBAL DEFA... 阅1766 转22 评0 公众公开 11-08-26 13:50 |
从gcc源目录下的config/arm中的t-linux和t-arm-elf中可以看出,不同的--target也影响gcc连接C语言库t-linux(--target=arm-linux)默认使用Glibct-arm-elf(--target=arm-elf)使用- Dinhibit_libc禁止连接Glibc,这时我们就可以使用newlib等其他C语言库编译GCC工具链。arm-linux-*针对运行linux的ARM机器,其依赖于指定的C语言库Glibc,因为同样使... 阅61 转自yangshiqu... 公众公开 11-08-26 13:43 |