在编译程序时如何将两个选项传递给GCC?

时间:2014-10-05 05:31:03

标签: c linux gcc

我正在做家庭作业,我想使用<ncurses.h>。因此gcc filename.c -lncurses生成汇编程序输出,./a.out执行代码。为了避免***stack smashing detected***segmentation fault error,我还需要执行gcc filename.c -fno-stack-protector。有什么办法可以在终端上执行这两个命令,或者代码可以执行-fno-stack-protector命令吗?

ps:请放轻松我是一个完整的菜鸟:):P

1 个答案:

答案 0 :(得分:1)

GCC可以在命令行上使用多个选项。如果这些选项兼容,您应该能够传递-f-l选项的任意组合。您可以通过运行man gcc(或在某些系统上info gcc)获取有关调用GCC的正确语法的大量信息。

而且,正如我上面评论的那样,如果你遇到“检测到堆栈粉碎”的错误,解决方案传递-fno-stack-protector(这只会禁用GCC使用的代码)检测这些类型的错误),而是修复程序中导致堆栈被覆盖的实际错误。