如何检查 C++ gcc 工具的头文件是否正确?

发布于 2024-10-27 10:01:38 字数 31 浏览 0 评论 0原文

如何使用 gcc 工具检查头文件的语法是否正确?

How can I check if the syntax of a header file is correct with gcc tools?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

§对你不离不弃 2024-11-03 10:01:38

-fsyntax-only

完全符合您的要求:

echo 'int i;' > good.hpp
echo 'int i' > bad.hpp
g++ -fsyntax-only good.hpp
echo $?
# 0
g++ -fsyntax-only bad.hpp
# bad.hpp:1:5: error: expected initializer at end of input
# int i
#     ^
echo $?
# 1
g++ --version | head -n1
g++ (Ubuntu 4.8.1-2ubuntu1~12.04) 4.8.1

man g++ 说:

-fsyntax-only
    Check the code for syntax errors, but don't do anything beyond that.

-fsyntax-only

Does exactly what you want:

echo 'int i;' > good.hpp
echo 'int i' > bad.hpp
g++ -fsyntax-only good.hpp
echo $?
# 0
g++ -fsyntax-only bad.hpp
# bad.hpp:1:5: error: expected initializer at end of input
# int i
#     ^
echo $?
# 1
g++ --version | head -n1
g++ (Ubuntu 4.8.1-2ubuntu1~12.04) 4.8.1

man g++ says:

-fsyntax-only
    Check the code for syntax errors, but don't do anything beyond that.
千里故人稀 2024-11-03 10:01:38

您可以尝试使用 g++ 编译它,如 g++ -c myheader.h 中所示。这将捕获任何语法错误。

You could try compiling it with g++, as in g++ -c myheader.h. This will catch any syntax errors.

薯片软お妹 2024-11-03 10:01:38

制作一个只包含标头的 cpp 文件并编译它;)

make a cpp file which does but include the header and compile it ;)

香橙ぽ 2024-11-03 10:01:38

我通常确保每个标头都包含在源文件中。例如,如果我正在开发的库仅包含标头,我会专门编写一个简单的单元测试,专门包含任何独立的标头,并测试该标头中任何模板的实例化。

I usually ensure that every header is included by a source file. If, for example, a library I'm developing is header-only, I specifically write a bare-bones unit test specifically to include any stand-alone headers, and test instantiation of any templates in that header.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文