我在windows平台上,有什么办法可以在c99模式下在命令行中编译程序,而不必输入-std=c99
每条语句?我当前的 gcc 版本是 4.4.1 。
问问题
3499 次
1 回答
2
gcc 不提供通过环境变量等方式指定命令行参数的方法。如果您想要 的效果-std=c99
,那么在某种程度上您将不得不gcc
使用该参数调用命令。
如果您gcc
从类 Unix 命令 shell(例如与 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
但这将使得在没有额外参数的情况下更难以调用。
于 2013-09-02T20:37:40.997 回答