工程在E盘根目录编译,生成bin文件;然后把工程复制到D盘根目录,再编译生成bin文件,对比两个bin文件发现不同。 这是使用beyond compare比对的结果,有2处差异,这里只截取了一处,另一处是类似的,bin文件包含路径信息? 再把工程复制到D盘test目录下编译,生成的bin文件和E盘根目录下编译生成的bin进行比对,结果差异就很大了 头文件包含都是使用的相对路径。为了确保无误,试过在工程复制到另外的路径之后,把原来路径下的工程改名,结果还是这样。 IAR版本是8.11,编译没有任何警告和错误。这问题有什么可能? |
对IAR不熟悉,但是从BIN文件结果来看,连续的4字节中有一个或两个不一样的,这个应该是中断向量表。
把你的两个.bin文件传上来,再把各自的.map文件也传上来。所有的信息在.map文件中都能找解释。
我的工程全部相对路径,在keil5和IAR ARM 7.80都换盘符试过了,木有问题,编译出来的文件完全一致。
评分
查看全部评分
评分
查看全部评分
如果代码里使用了宏:__FILE__,
这一点应该可以理解.
评分
查看全部评分
直接拷贝,没有修改任何设置;也试过rebuild,试过删除release文件夹、debug文件夹、setting文件夹,再编译;结果都是一样的。
是在option里面output converter选raw binary生成bin文件的;也试过生成intel hex,比对结果也是不一样。
所有有关于__FILE__的宏定义都屏蔽掉了的
评分
查看全部评分