00000004.htm
来自「水木社区 embeded 版精华区 下载」· HTM 代码 · 共 43 行
HTM
43 行
<?xml version="1.0" encoding="gb2312"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"/><title>使用WIN32环境下的gcc及GNU 5(转载) turbolinux </title></head><body><center><h1>BBS 水木清华站∶精华区</h1></center><a name="top"></a>发信人: sunno (民工☆五月天高人浮躁), 信区: Embedded <br />标 题: 使用WIN32环境下的gcc及GNU 5(转载) <br />发信站: BBS 水木清华站 (Tue Jul 4 04:30:05 2000) <br /> <br />(转载自笑书亭) <br /> <br />三、使用GBU分析编译过程 <br />为了分析的方便,不妨先用命令行 gcc -c cprogram.c 及gcc -c assem.s 生成目标文 <br />件cprogram.o <br />和assem.o,再用命令行gcc -o cprogram.exe cprogram.o assem.o 生成可执行文件cp <br />rogram.exe。 <br />1、用nm对obj文件进行符号分析 <br />执行命令行 nm -g cprgram.o可以得到cprogram.o的全局符号: <br />//offset type symbol <br />U ___main <br />U _addition <br />00000030 T _main <br />U _printf <br />U _scanf <br />类型U表示未定义的全局符号,链接时需重定位,T表示定义在代码段中的全局符号。从 <br />中可以看出,编译cprogram.c时addition函数处理与对printf、scanf的处理一样,先标 <br />记为外部引用,待链接时再重定位,当然这时它们的相对地址也无从知晓。 <br /> <br />-- <br />※ 来源:·BBS 水木清华站 smth.org·[FROM: 162.105.16.253] <br /><a href="00000003.htm">上一篇</a><a href="javascript:history.go(-1)">返回上一页</a><a href="index.htm">回到目录</a><a href="#top">回到页首</a><a href="00000005.htm">下一篇</a></h1></center><center><h1>BBS 水木清华站∶精华区</h1></center></body></html>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?