CSDN论坛 > C/C++ > C语言

请问大侠:是不是只要用extern "C" 声明,编译器就会以C风格编译? [问题点数:20分,结帖人himachao]

Bbs1
本版专家分:0
结帖率 100%
CSDN今日推荐
Bbs5
本版专家分:3520
Blank
黄花 2003年8月 C/C++大版内专家分月排行榜第二
Bbs2
本版专家分:369
Bbs1
本版专家分:1
Bbs2
本版专家分:235
Bbs4
本版专家分:1963
Bbs2
本版专家分:434
Bbs4
本版专家分:1480
Bbs5
本版专家分:3414
Blank
蓝花 2003年10月 C/C++大版内专家分月排行榜第三
Bbs2
本版专家分:426
Bbs3
本版专家分:836
Bbs1
本版专家分:1
Bbs5
本版专家分:3414
Blank
蓝花 2003年10月 C/C++大版内专家分月排行榜第三
Bbs2
本版专家分:131
Bbs5
本版专家分:3520
Blank
黄花 2003年8月 C/C++大版内专家分月排行榜第二
匿名用户不能发表回复!
其他相关推荐
C和C++的混合编译--extern “C”的使用
参考地址:http://www.cnblogs.com/skynet/archive/2010/07/10/1774964.html 在实际编程中,有时会需要用到C\C++的混合编译,通过extern “C”即可实现混合编译,以下是个人参照网友的资料以及自己的实际操作的收获。 一:C++中调用C程序 图片中print函数通过extern “C”来指明按照C的编译方式来编译,编译完
C/C++函数名称修饰规则及extern "C"的作用
一、函数名称修饰规则 由于c语言不支持函数重载,而c++语言支持函数重载,所以c和c++的函数名称修饰规则是不相同的。   以下面这个Add函数为例,来探讨一下c和c++语言的函数名称修饰规则。 int Add(int x, int y) { return x+y; } c语言的函数名称修饰规则:  [window系统下vs2010]:(在映射文件.map中可以查看,需要右击当前
QT与C程序编译问题extern C
最近在调测试程序,遇到
C语言中声明和定义的区别——分析extern关键词。
一直很迷惑C语言中的声明和定义的有些实践中的用法,说迷惑实践是因为声明和定义的概念上的区别是很明确的。 定义和声明的区别(主要针对变量): 定义是要为变量分配存储空间,还可以在定义的时候为变量指定初始值。在一个程序中,变量有且仅有一次定义。 声明用于向程序表明变量的类型和名字。定义包括声明:定义变量时我们声明了变量的类型和名字。可以使用extern关键字声明变量名而定义它。不定义变量的声明包
extern "c" 什么时候使用
在写c/c++的时候,对于c函数总要来个extern "c"{ func(...)}. 那么到底什么时候需要呢写这个extern "c",不写又有什么后果呢。 demo.cpp #include #include "mystring.h" using namespace std; int myStrlen(int num) { cout<<"num = "<<num<<endl
C语言头文件函数声明是否加extern
最近看创龙的DSP程序,忽然遇到一个C语言的语法问题,感觉非常纠结,归根结底还是以前C语言学的不扎实,所以才会卡在这种小的语法问题上。我的问题是这样的,在看UART_EDMA例程的时候,main函数调用了UARTStdioInit();函数,UARTStdioInit();在uartStdio.c文件里,然后UARTStdioInit();函数里又调用了UARTConsoleInit();函数,该
为什么会有extern "C"这样的规定?
1.引言   C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言, C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言 ,为了支持函数的重载,C++对全局函数的处
c语言头文件中函数是否加extern
在.h文件中声明的函数,如果在其对应的.c文件中有定义,那么我们在声明这个函数时,不使用extern修饰符, 如果反之,则必须显示使用extern修饰符.
C语言多文件编译时,编译器不检测其声明的变量类型与定义时的类型是否匹配
比如我在文件1里定义int c = 0x31323334; 在文件2里声明extern char c;   编译器并不会报错的。 //File: 1.c char a[100] = {0x31, 0x32, 0x33, 0x34, 0x35}; char *b = "abcde"; int c = 0x31323334; char* f(void) {
extern 声明函数和定义函数
extern 关键字放在函数声明之前: > test.h extern int test(); 如果这样函数的声明中带有关键字extern,仅仅是暗示这个函数可能在别的源文件里定义。 这样一来,就是在程序中取代include “*.h”来声明函数,在一些复杂的项目中,比较习惯在所有的函数声明前添加extern修饰,以防止遗漏包含头文件而导致的编译错误。 extern 关键字放在函数定
关闭