#ifdef __cplusplus
extern "C" {
#endif……略
……
#ifdef __cplusplus
}
#endif
谁能帮我解释一下上面代码的意思,最好是说得详细些,我也知道大概的意思,但是不是很明白
为什么加了两个#endif?

解决方案 »

  1.   

    为了让c程序可以和c++混编吧。如果有c++编译器时的就使c的程序被extern "c"{}包括:)
      

  2.   


    加两个是正好配对成extern "c"
    {}
    啊.
      

  3.   

    兄弟你真有福!
    cplusplus 是C++编译器约定的一个编译常量,说明你的程序是否是C++程序xtern “XX”可以告诉编译器,该函数是用XX语言来编写的。例如:我们在C++程序中调用C语言所编写的函数void exit(int)
    就可以这样做:extern “C” void exit(int)
    如果用多个函数的话,可以采用:
    extern “C” 
    {
      int add(int a,int b);
      int substract(int a,int c);
    …….}
    这里{  }只是一个分割符,用来说明在那个链接指示符用在那些声明上,没有其它的意义了,也就是说在花括号内声明的函数是可见的了!不要胡思乱想!