打印

紧急求救!汇编编译问题(利用obj文件建项目)

[复制链接]
1482|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
softerchang|  楼主 | 2013-1-19 08:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
softerchang|  楼主 | 2013-1-19 11:06 | 只看该作者
:Q

使用特权

评论回复
板凳
zwz7219| | 2013-1-19 11:38 | 只看该作者
obj 文件就是“库”文件,它由源文件(可以是汇编文件,也可以由C文件或其它语言写成的源文件)生成,生成后不可能更改。如果想修改库内的程序,则需要修改源程序,然后重新编译,生成新的库,并在链接过程中加入新的库。

使用特权

评论回复
评论
江枫渔火 2013-1-19 16:12 回复TA
好像是目标文件,而不是库文件 
地板
softerchang|  楼主 | 2013-1-19 11:43 | 只看该作者
谢楼上的回复,我并不是修改obj。而是修改.inc文件。我的inc文件是放的查表数据

使用特权

评论回复
5
小嘿| | 2013-1-19 12:06 | 只看该作者
可能和编译器设置有关,试试把obj等过程文件删除再编译

使用特权

评论回复
6
zwz7219| | 2013-1-21 15:08 | 只看该作者
softerchang 发表于 2013-1-19 11:43
谢楼上的回复,我并不是修改obj。而是修改.inc文件。我的inc文件是放的查表数据 ...

可能我上次说得不是太清楚,对象文件和目标文件及库文件的意思其实都差不多,许多资料叫法不一,指的都是由源程序生成的中间文件,而不是最终可执行文件(exe 或 hex)。

用中间文件,是为了保护自己的源文件,不被其他人有意或无意地修改,或者是为了保护自己的隐私。

编译器不会为 inc 文件生成中间文件,而只会为 ASM 或 C 文件生成中间文件,你可以参考一下相应编译器的编译指南。

你修改了 inc 文件后,应该把由此而产生的中间文件加入原工程,并从工程中去掉相应的源文件,才可以反应出程序的改变。

这也是许多 IDE 中有多个编译按钮的原因,如编译、编译当前文件、创建、重新创建所有等等。其实编译只是把源文件编译为中间文件,创建则会先编译后链接,链接过程才是把各种源程序产生的中间文件组合成最终的可执行文件。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

83

主题

327

帖子

2

粉丝