C++中extern "C"和export用法
来源:互联网 发布:淘宝上100多的丛发气瓶 编辑:程序博客网 时间:2024/06/07 05:34
extern "C":
extern "C"的主要作用就是为了能够正确实现C++代码调用其他C语言代码。加上extern "C"后,会指示编译器这部分代码按C语言的进行编译,而不是C++的。由于C++支持函数重载,因此编译器编译函数的过程中会将函数的参数类型也加到编译后的代码中,而不仅仅是函数名;而C语言并不支持函数重载,因此编译C语言代码的函数时不会带上函数的参数类型,一般之包括函数名。
extern "C"一般修饰变量、函数或者一段代码:
被extern "C"限定的函数或变量是extern类型的;
在C++中引用C语言中的函数和变量,在包含C语言头文件(假设为cExample.h)时,需进行下列处理:
extern "C"
{
#include "cExample.h"
}
export:
extern int n;
extern struct Point p;
extern class A a;
export template<class T> class Stack<int> s;
export template<class T> void f (T& t) {……}
一般是在头文件中给出类的定义或全局函数的声明信息,而在代码文件中给出具体的(类成员函数或全局函数的)函数定义。然后在多个用户代码文件中包含该头文件后,就可以使用其中定义或声明的类和函数。头文件中一般不包含变量、结构和类对象的定义,因为这样可能会导致重复定义的编译错误。解决办法是,在某个代码文件中进行定义,在其他用户代码文件中用extern来引用它们。
但是对模板类型,则可以在头文件中,声明模板类和模板函数;在代码文件中,使用关键字export来定义具体的模板类对象和模板函数;然后在其他用户代码文件中,包含声明头文件后,就可以使用该这些对象和函数了。
0 0
- C++中extern "C"和export用法
- C中extern和C++中的export
- c语言中static用法和extern
- C语言中static 和 extern用法
- c语言中static 用法和extern
- C++中extern "C"用法
- C/C++中extern用法
- C/C++中extern用法
- C中extern的用法
- 【C语言】混合编程中的export 、import和extern
- c/c++中static和extern用法和区别
- c语言中static和extern的用法详细解析
- c语言中static和extern的用法详细解析
- extern 和extern "C"
- extern 和 extern“C”
- C 中 extern 和 static
- C 中 extern 和 static
- C 中 extern 和 static
- 你好,IT我来了!
- Spring mvc 原理浅析
- Error: [ngModel:constexpr] 的解决办法
- informix-系统视图
- apt-get upate Hash Sum mismatch
- C++中extern "C"和export用法
- php memcache
- springboot 修改默认端口及application.properties常用配置
- eclipse查看jar包源代码乱码问题解决
- 线程池的参数解析及简单创建
- 单链表的基本操作
- 解析mediaTypes+viewResolvers+viewResolvers
- ICMP协议以及ping命令实现
- maven 打包到web app下运行 若是想改到server runtime 上运行 则必须先删除打好的war包