gpt4 book ai didi

c - -fno-stack-protector 有什么用?

转载 作者:太空狗 更新时间:2023-10-29 16:24:51 26 4
gpt4 key购买 nike

我用 C 编写了一个应用程序,我试图了解编译时 -fno-stack-protector 命令的用途。对于我的具体应用,是否使用此命令在防止缓冲区溢出方面没有区别。

我在网上看到 -fstack-protector-fno-stack-protector 命令分别启用和禁用堆栈粉碎保护器,但是如果我我自己编译应用程序,如何预先启用保护程序?命令的使用是否可能取决于应用程序运行的系统?

最佳答案

在标准/标准 GCC 中,堆栈保护器默认处于关闭状态。然而,一些 Linux 发行版已经修补 GCC 以默认打开它。在我看来,这是相当有害的,因为它破坏了编译任何未链接到标准用户空间库的能力,除非 Makefile 专门禁用堆栈保护器。它甚至会破坏 Linux 内核构建,除了带有此 hack 的发行版向 GCC 添加了额外的 hack 以检测内核正在构建并禁用它。

关于c - -fno-stack-protector 有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10712972/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com