关于C和C++混合编译出错的解决方法
2006-10-28 18:18
405 查看
C++可以直接调用C的函数及全局变量,但是需在调用之前以extern "C"进行声明,否则编译出错
例:
extern "C"
{
extern int flag;
int client();
}
大括号中亦可加入头文件的include,例:
extern "C"
{
#include "types.h"
}
注意:
在VC++中,以.c为扩展名的文件以C编译器编译(即不可随处声明变量,不可使用默认参数值等),以.cpp为扩展名的文件以C++编译器编译
问题:
在linux中似乎分界不明显?以gcc编译c文件时,在函数中间声明变量亦不报错
例:
extern "C"
{
extern int flag;
int client();
}
大括号中亦可加入头文件的include,例:
extern "C"
{
#include "types.h"
}
注意:
在VC++中,以.c为扩展名的文件以C编译器编译(即不可随处声明变量,不可使用默认参数值等),以.cpp为扩展名的文件以C++编译器编译
问题:
在linux中似乎分界不明显?以gcc编译c文件时,在函数中间声明变量亦不报错
相关文章推荐
- Xcode7 关于http协议的修改,编译出错的解决方法
- 关于编译【windows核心编程】01-ShowError 源代码出错 ,解决方法!
- MFC工程中使用sqlite3源代码--c和c++代码混合编译出错解决
- 关于Qt for Android 编译时出错/usr/bin/sh: -c: line 1: syntax error: unexpected end of file 时的解决方法
- (他山之石)MFC学习之路(三)关于编译【windows核心编程】01-ShowError 源代码出错 ,解决方法!
- c++驱动编译出错解决方法
- UNIX网络编程卷1(第三版)关于源程序编译出错问题的详细解决方法
- nios ide 编译出错java.net.MalformedURLException unknown protocol e解决方法
- C++常见gcc编译链接错误解决方法
- c++/cli调用c#类库,混合编译时出现 warning C4945 解决方法
- linux c++编写访问mysql程序,访问数据库出错,解决方法
- 关于apktool反编译出错Error occured at code address 0的解决办法
- VMWare在2.6.20内核下编译出错的解决方法
- tinyhttpd编译出错的解决方法
- shlobj.h编译出错的解决方法!
- 关于开发JNI时编写C++找不到to_string()方法的解决办法
- linux下用gcc编译使用了math库函数的程序出错的解决方法
- ubuntu13.10 编译时 关于链接xlib 库阶段出错的问题解决