Embedded 版 (精华区)

发信人: embeddedsys (选择·喜欢), 信区: Embedded_system
标  题: 使用WIN32环境下的gcc及GNU 5(转载)
发信站: 哈工大紫丁香 (2003年03月27日09:14:56 星期四), 站内信件

发信人: sunno (民工☆五月天高人浮躁), 信区: Embedded
标  题: 使用WIN32环境下的gcc及GNU 5(转载)
发信站: BBS 水木清华站 (Tue Jul  4 04:30:05 2000)

(转载自笑书亭)

三、使用GBU分析编译过程
为了分析的方便,不妨先用命令行 gcc -c cprogram.c 及gcc -c assem.s 生成目标文
件cprogram.o
和assem.o,再用命令行gcc -o cprogram.exe cprogram.o assem.o 生成可执行文件cp
rogram.exe。
1、用nm对obj文件进行符号分析
执行命令行 nm -g cprgram.o可以得到cprogram.o的全局符号:
//offset type symbol
U ___main
U _addition
00000030 T _main
U _printf
U _scanf
类型U表示未定义的全局符号,链接时需重定位,T表示定义在代码段中的全局符号。从
中可以看出,编译cprogram.c时addition函数处理与对printf、scanf的处理一样,先标
记为外部引用,待链接时再重定位,当然这时它们的相对地址也无从知晓。

--

--
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.250.5]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.205毫秒