- 论坛徽章:
- 0
|
在Linux/UNIX下写大型程序一般都会用到Makefile和make这两个玩意儿。对,它们就是玩意儿,它们并不会使得程序跑得更健壮,但有时却会让你的程序崩溃。“我就是不明白,为什么会死在这儿,我跟踪的栈里并没有这个地址”,同事很无奈地指着出错的那行代码对我说。“这是一个结构体,可是为什么就是会在取这个成员值的时候程序会挂掉?但是如果把这个新加入的成员删除就一切正常.真是见鬼了.你快帮我看看是怎么回事.我们查了一晚上都没有查出个所以然来."他想请我帮忙。我一听到说"把新加入的成员删除就一切正常",在我的脑海里就构建了一张内存分配表。既然在取这个新加入的成员的时候出了问题,那么很可能编译器并未给他分配空间或者本该为这个成员分配的空间被别人给占了。很可能是因为改了头文件,而有些用到这个头文件的程序并没有被重新编译到。所以我当时决定让他先make clean && make distclean试试看。结果不出我所料。"呵呵,这该死的Makefile"我心想,"关系应该处理好吗!特别是依赖关系!"
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/18584/showart_1901220.html |
|