gpt4 book ai didi

c - C中的这段代码是什么意思?

转载 作者:太空狗 更新时间:2023-10-29 15:16:38 29 4
gpt4 key购买 nike

在一些 Bison 代码中,下面这行是什么意思?

#define YY_DECL extern "C" int yylex();

我知道#define 命令,但我不理解整个命令。

最佳答案

表示YY_DECL将展开为

extern "C" int yylex();

这其实是C++,不是C;当您使用 C++ 编译器编译此文件时,它声明函数 yylex 必须使用“C 链接”进行编译,以便 C 函数可以毫无问题地调用它。

如果您不使用 C++ 编程,这在很大程度上与您无关,但您可能会在 C 头文件中遇到类似的声明,这些声明用于试图与 C++ 兼容的库。 C 和 C++ 可以混合在一个程序中,但需要这样的函数声明才能很好地协同工作。

#define 周围可能有一个#ifdef __cplusplus;这是一个特殊的宏,用于指示 C++ 编译器的编译。

关于c - C中的这段代码是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11057579/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com