免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: bettersir
打印 上一主题 下一主题

[C++] new操作失败,请高手来看看!!! [复制链接]

论坛徽章:
0
11 [报告]
发表于 2008-11-06 10:10 |只看该作者
代码?

论坛徽章:
0
12 [报告]
发表于 2008-11-06 13:03 |只看该作者
专家说,要怀疑自己

论坛徽章:
0
13 [报告]
发表于 2008-11-06 17:01 |只看该作者
原帖由 bettersir 于 2008-11-6 08:30 发表
clean后make是没有问题的,

我想知道的是:这是什么原因引起的?

是否有办法重现这种bug?

想知道其所以然, ^_^



以前碰到很多人是这样的情况:

用make编译一个比较大的工程,改了某源码文件,make到一半时忽然想到需要再改一下,这个时候类就 Ctrl + C把make停止掉,去修改源码后再make。

而ctrl + C来停止掉make的时候会碰到这样一种情况,就是make正在生成一个 .o 文件,文件名字(或者说实际上出来了个 .o文件了)已经出来了,但是实际的编译该 .o 文件却没进行完,也就是说这个时候生成了一个不可用的 .o 文件。

但是再次make的时候,make发现该 .o文件已经存在了,就不再从上一次的编译过程的中断位置开始执行,而是认为该 .o文件已经编译完毕,直接去编译下一个文件去了。所以导致了链接以后有些程序运行不了。

而此时,如果重新make clean一下,再从头make出来一个完整的就ok。

当然了,这个是揣摩出来的原因了,因为我感觉我对make内部生成 .o 的具体过程还无法详细给出。

如果有其他兄弟有不同理解赶快给出,大家一起讨论明白。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP