__BEGIN_DECLS 和 __END_DECLS 的理解
2016-09-20 17:37
375 查看
扩充C语言在编译的时候按照C++编译器进行统一处理,使得C++代码能够调用C编译生成的中间代码。
由于C语言的头文件可能被不同类型的编译器读取,因此写C语言的头文件必须慎重。
我们编写代码,经常需要c和c++混合使用,为了使 C 代码和 C++ 代码保持互相兼容的过程调用接口,需要在 C++ 代码里加上 extern “C” 作为符号声明的一部分,为了简化,从而定义了上面的两个宏方面我们使用
——BEGIN_DECLS
..........
__END_DECLS
扩充编译是,这段部分按照BEGIN end 之间的进行编译
由于C语言的头文件可能被不同类型的编译器读取,因此写C语言的头文件必须慎重。
我们编写代码,经常需要c和c++混合使用,为了使 C 代码和 C++ 代码保持互相兼容的过程调用接口,需要在 C++ 代码里加上 extern “C” 作为符号声明的一部分,为了简化,从而定义了上面的两个宏方面我们使用
——BEGIN_DECLS
..........
__END_DECLS
扩充编译是,这段部分按照BEGIN end 之间的进行编译
相关文章推荐
- 对__BEGIN_DECLS 和 __END_DECLS 的理解
- 对__BEGIN_DECLS 和 __END_DECLS 的理解
- 对__BEGIN_DECLS 和 __END_DECLS 的理解
- 对__BEGIN_DECLS 和 __END_DECLS 的理解
- Mcad学习笔记之委托再理解(delegate的构造器,MulticastDelegate,BeginInvoke,EndInvoke,Invoke4个方法的探讨)
- 理解Directx之BeginScene/EndScene
- 从G_BEGIN_DECLS和 G_END_DECLS说起
- C# 对委托的BeginInvoke,EndInvoke 及Control 的BeginInvoke,EndInvoke 的理解
- __BEGIN_DECLS 和 __END_DECLS
- __BEGIN_DECLS __END_DECLS
- 转:C# 对委托的BeginInvoke,EndInvoke 及Control 的BeginInvoke,EndInvoke 的理解
- __BEGIN_DECLS 和__END_DECLS
- 异步调用--委托的BeginInvoke--EndInvoke--IAsyncResult--asyncResult--AsyncWaitHandle.WaitOne()的一些理解
- sort函数、vector中begin()、end()和front()、back()的区别
- awk的BEGIN与END模式
- 【c++11】非成员begin() 、end()
- Invoke和BeginInvoke理解
- (转载)vector<int>::iterator mid=(vi.begin()+vi.end())/2
- __BEGIN__; __END__是opencv中的一种错误处理机制,它可以防止非法的内存释放,以及内存泄露
- 关于SAS 存储过程服务器中 %STPBEGIN 和 %STPEND 宏的说明