永发信息网

这个C语言是什么意思{}

答案:4  悬赏:70  手机版
解决时间 2021-03-05 23:43
  • 提问者网友:不爱我么
  • 2021-03-05 04:43
#ifdef __cplusplus
#define BEGIN_EXTERN_C() extern "C" {
#define END_EXTERN_C() }
#else
#define BEGIN_EXTERN_C()
#define END_EXTERN_C()
#endif

主要讲讲
1.
BEGIN_EXTERN_C()
为什么有()

2.
extern "C"
是什么意思

3.
#define BEGIN_EXTERN_C() extern "C" {
#define END_EXTERN_C() }
这里面的{}是什么意思
最佳答案
  • 五星知识达人网友:人间朝暮
  • 2021-03-05 05:47
1、BEGIN_EXTERN_C()被#define定义为一个宏函数,“()”不是必须的;
2、在不同的编程语言进行软件联合开发的时候,需要统一的全局函数、全局变量、全局常量、数据类型等的连接规范(Linkage Specification),特别是在不同模块之间共享的接口定义部分。extern "C"就是通用的C连接规范。表示在extern “C” 之后的“{”与“}”之间的内容,用C语言的方式进行编译。
3、#define BEGIN_EXTERN_C() extern "C" {
#define END_EXTERN_C() }
是定义两个宏函数,它们分别代表:extern “C”{ 和 }
全部回答
  • 1楼网友:孤独入客枕
  • 2021-03-05 08:04
1.有()说明这是一个函数,这里#define BEGIN_EXTERN_C()用作定义 2.extern "C"其实是和后面的{合在一起使用的,用来代替BEGIN_EXTERN_C() { 3.#define END_EXTERN_C() }这里END_EXTERN_C()表示} 函数肯定要有{}的
  • 2楼网友:英雄的欲望
  • 2021-03-05 07:30

#define叫作宏定义。

你可以简单的理解成 #define  a  b即 令a=b

比如针对#define level_new  0 意思是在编译的时候 只要出现level_new  就认为是0

(在程序中可能多次出现level_new  ,要是想修该他的值只需要用#define level_new  新的值就可以,省的一个个去更改)

  • 3楼网友:雾月
  • 2021-03-05 06:17
1. BEGIN_EXTERN_C(),是个宏代替符号,加()是为了表示这是个函数的宏,从作用上来说可以不加()。 2. extern "C" 是C语文的用语,表示引用一个外部c函数。 3. {}表示这是个函数体。 总之这句的意思是,在这段函数里,用“BEGIN_EXTERN_C() ”这样一个常量字符串代替下面这个函数: extern "C" { #define END_EXTERN_C() }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯