gpt4 book ai didi

visual-studio - g++ 上的 safeseh gs

转载 作者:行者123 更新时间:2023-12-02 02:10:08 25 4
gpt4 key购买 nike

我想编译一个c++文件。我正在学习一个教程,在本教程中,文件是用 Visual Studio 编译的,但我没有。我想对 g++ 做同样的事情。在本教程中,使用 VS 中的/GS 和/SafeSEH。我想知道如何使用 g++ 编译器使用这些标志编译我的文件。

抱歉,如果我的问题很简单,我以前从未使用过 g++。对不起我的英语。谢谢。

最佳答案

首先要做的是:

  • /GS 实际上执行“缓冲区安全检查”,它试图自动检测缓冲区溢出并终止您的应用程序在可以利用此类溢出之前。

  • /SAFESEH 嵌入了所有结构化异常处理程序的列表在可执行文件中,以便操作系统可以检测是否已安装未经授权的处理程序以试图劫持执行。

现在回答你的问题:g++实现了一个类似于/GS的特性。您可以使用 -fstack-protector-all 编译您的代码以启用它。如果您好奇,可以查看 gcc 联机帮助页或使用 google 获取更多详细信息。 g++ 不实现结构化异常处理(它是 Microsoft 的扩展),因此 g++ 中没有与/SAFESEH 类似的内容。

好消息是,除非您正在处理的示例旨在演示/GS 和/SAFESEH 提供的额外保护,否则在没有它们的情况下编译代码应该根本不是问题。我敢打赌,您可以忽略这两个选项,只在没有它们的情况下进行编译,一切都会好起来的。

如果您有兴趣获得 Visual Studio,可以从 Microsoft 获得免费的“Express”版本。在此处查看网站:http://www.microsoft.com/visualstudio/eng/products/visual-studio-express-products

希望对您有所帮助。

关于visual-studio - g++ 上的 safeseh gs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13276692/

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