extern "C"
http://my.oschina.net/hnuweiwei/blog/261002
代码在vs2015上有问题啊!
extern "c"
c++语言支持重载,c语言不支持重载。函数被c++编译后在库中的名称与c不一样。假设某个函数原型为void foo(int x,int y), 被c编译器编译后名字可能为_foo, 在c++编译器编译后的名字可能为_foo_int_int
extern "C"的主要作用就是为了能够正确实现C++代码调用其他C语言代码。加上extern "C"后,会指示编译器这部分代码按C语言的进行编译,而不是C++的。这样就使c++与c尽可能的兼容。
c++标准头文件都有类似的结构
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #ifndef __INCvxWorksh /*防止头文件被重复引用*/#define __INCvxWorksh#ifdef __cplusplus            //告诉编译器,这部分代码按C语言的格式进行编译,而不是C++的,__cplusplus是cpp中自定义的一个宏extern"C"{#endif/*…*///用c进行编译的代码#ifdef __cplusplus}#endif#endif /*end of __INCvxWorksh*/ | 
    Coding
 
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号