我在 Windows 平台上,有什么方法可以在 c99 模式下在命令行中编译程序,而无需在每个陈述 ?我当前的 gcc 版本是 4.4.1 。
最佳答案
gcc 不提供通过环境变量等方式指定命令行参数的方法。如果您想要 -std=c99
的效果,那么在某种程度上您将必须使用该参数调用 gcc
命令。
如果您从类 Unix 命令 shell(例如与 Cygwin 一起使用的命令 shell)调用 gcc
,则可能已经有一个 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/