关于c函数c++函数的调用问题
来源:互联网 发布:高薪网络销售招聘 编辑:程序博客网 时间:2024/05/01 23:11
http://www.pconline.com.cn/pcedu/empolder/gj/c/0508/693175_3.html
- C/C++ code
- (1)在C++中引用C语言中的函数和变量,在包含C语言头文件(假设为cExample.h)时,需进行下列处理:extern "C"{#include "cExample.h"} 而在C语言的头文件中,对其外部函数只能指定为extern类型,C语言中不支持extern "C"声明,在.c文件中包含了extern "C"时会出现编译语法错误。 笔者编写的C++引用C函数例子工程中包含的三个文件的源代码如下:/* c语言头文件:cExample.h */#ifndef C_EXAMPLE_H#define C_EXAMPLE_Hextern int add(int x,int y);#endif/* c语言实现文件:cExample.c */#include "cExample.h"int add( int x, int y ){return x + y;}// c++实现文件,调用add:cppFile.cppextern "C" {#include "cExample.h"}int main(int argc, char* argv[]){add(2,3); return 0;} 如果C++调用一个C语言编写的.DLL时,当包括.DLL的头文件或声明接口函数时,应加extern "C" { }。 (2)在C中引用C++语言中的函数和变量时,C++的头文件需添加extern "C",但是在C语言中不能直接引用声明了extern "C"的该头文件,应该仅将C文件中将C++中定义的extern "C"函数声明为extern类型。 笔者编写的C引用C++函数例子工程中包含的三个文件的源代码如下://C++头文件 cppExample.h#ifndef CPP_EXAMPLE_H#define CPP_EXAMPLE_Hextern "C" int add( int x, int y );#endif//C++实现文件 cppExample.cpp#include "cppExample.h"int add( int x, int y ){return x + y;}/* C实现文件 cFile.c/* 这样会编译出错:#include "cExample.h" */extern int add( int x, int y );int main( int argc, char* argv[] ){add( 2, 3 ); return 0;}
- 关于Matlab调用C函数的问题
- 关于C语言函数调用的问题
- 关于c函数c++函数的调用问题
- 关于外部C函数调用Qt窗体信号的问题
- 关于C++调用C函数或变量的问题
- 关于C函数的调用过程-栈帧
- 关于Lua调用C函数
- C++调用C函数问题
- C++调用C函数问题
- c++调用c函数问题
- 关于c语言的输入函数问题
- 关于学习c编程中调用函数时遇到的些许问题
- C/C++中关于函数调用结束后变量释放的问题
- C函数的调用过程
- C函数的调用过程
- C调用Python的函数
- C语言函数的调用
- Python调用 c 的函数
- 关于指针和内存
- ----中秋节前夕---
- Navicat简介
- validateJarFile jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
- 佛说
- 关于c函数c++函数的调用问题
- Struts2
- 指针详解
- 【LeetCode with Python】 Generate Parentheses
- 数字水印的嵌入与检测 WaterMark 1.0
- log4j:WARN Please initialize the log4j system properly 问题解决
- 【LeetCode with Python】 Best Time to Buy and Sell Stock
- 用带有PTDD Partition Table Doctor的WinPE处理硬盘0磁道损坏问题
- 在ACCESS中,"!"及"."符号之差别为何?