我想这样写在Makefile中

foo: foo.c
        $(CC) -o foo -Wall foo.c

但是我不确定所有的cc实现是否都支持-Wall

最佳答案

不,仅使用便携式选件可以做的最简单的事情就是将自己限制在POSIX C89和C99选件中。 -Wall不是其中之一。有关选项,请参见Opengroup's Unix Specification for c99。但这只能为unixy系统提供答案,而不能为Microsoft提供答案。
-Wall(AFAIK)由GNU gcc引入,并由clang继承以与GNU gcc兼容。

如果您不害怕研究其他构建工具,则有些工具可以立即使用,支持多操作系统或多工具链构建。我相信sconscmake可以做到这一点。

关于c - 我可以安全地假设* nix系统上所有(或大多数)“cc”都支持“-Wall”吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44110170/

10-11 23:16