-fstack-protector,-fstack-protector-all和-fmudflap

-fstack-protector和-fstack-protector-all是保护基于堆的内存分配还是仅保护基于堆栈的内存分配?

前2和-fmudflap有什么区别?

关于哪个更适合调试的任何建议?

(我不确定gcc man page是否足够清楚,或者我根本不理解……)

char foobar[10]; // stack-based

char *foobar = malloc(10); // heap-based

最佳答案
Mudflap用于指针检查.见this pdf.
您需要安装相关的库才能使用这些gcc功能.
我更喜欢valgrind来检测这样的错误,因为不需要重新编译/重新链接并且更容易使用,但这些也很有价值.

dawei

【声明】:淮南站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。