作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我在 windows 平台上,有什么方法可以在 c99 模式下在命令行中编译程序,而不必在每个程序中键入 -std=c99
陈述 ?我当前的 gcc 版本是 4.4.1 。
最佳答案
gcc 不提供通过例如环境变量指定命令行参数的方法。如果您想要 -std=c99
的效果,那么在某种程度上您将不得不使用该参数调用 gcc
命令。
如果您从类 Unix 命令 shell 调用 gcc
,例如与 Cygwin 一起使用的命令 shell,可能已经有一个 c99
命令。 POSIX 需要这样的命令(它将是 gcc
命令的包装器)。我目前没有安装 Cygwin,所以我无法检查它。如果不存在,您可以定义一个 shell 函数:
c99() {
gcc -std=c99 "$@"
}
如果您从 Windows MS-DOS 风格的命令提示符调用它,您可以创建一个名为 c99.cmd
的批处理文件,其中包含:
gcc -std=c99 %1 %2 %3 %4 %5 %6 %7 %8 %9
并将它放在你的 %PATH%
中。
请注意,后一种方法最多只能处理 9 个命令行参数,这通常就足够了。 (我认为有办法处理更多。)
如果您想在编译时捕获更多错误,您当然可以添加更多参数,例如 -pedantic -Wall -Wextra
。
请注意,我将命令命名为 c99
而不是 gcc
,这样它就不会尝试递归调用自身。如果你真的希望能够将它作为 gcc
调用,你可以指定 gcc
可执行文件的完整路径(你必须找出你的系统)。但这将使调用 gcc
没有额外参数变得更加困难。
关于windows - 如何在c99模式下编译?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18576739/
我是一名优秀的程序员,十分优秀!