学习C++语言总结之谈
对第一次接触到C++语言的用户和学者来说,了解C++语言的概念是非常重要的,那么就先说一下什么是C++语言,所谓C++语言:是一种使用非常广泛的计算机编程语言,下面进行学习探讨。
作为一种欲与C兼容的语言,C++语言保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言,为了支持函数的重载,C++对全局函数的处理方式与C有明显的不同。
为什么标准头文件都有类似以下的结构?
#ifndef __INCvxWorksh
#define __INCvxWorksh
#ifdef __cplusplus
extern "C" {
#endif
/*...*/
#ifdef __cplusplus
}
#endif
#endif /* __INCvxWorksh */ 那么:
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __cplusplus
}
#endif
而在C语言的头文件中,对其外部函数只能指定为extern类型,C语言中不支持extern "C"声明,在.c文件中包含了extern "C"时会出现编译语法错误。
/* c语言头文件:cExample.h */
#ifndef C_EXAMPLE_H
#define C_EXAMPLE_H
extern 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.cpp
extern "C"
{
#include "cExample.h"
}
int main(int argc, char* argv[])
{
add(2,3);
return 0;
} 在C中引用C++语言中的函数和变量时,C++的头文件需添加extern "C",但是在C语言中不能直接引用声明了extern "C"的该头文件,应该仅将C文件中将C++中定义的extern "C"函数声明为extern类型。
相关推荐
qingsongzdq 2020-02-02
MYRENZHIBO 2019-08-28
qingsongzdq 2020-01-17
KilluaZoldyck 2020-01-10
lynjay 2020-01-09
lsfreeing 2020-01-09
beibeijia 2019-12-29
liuweinn 2010-09-21
Pipcie 2011-03-03
旭灿 2010-10-27
一亩半分地 2011-10-18
徐建岗网络管理 2019-08-02
electricperi 2019-08-02
newdye 2011-01-10
makeWorks 2019-07-01
83457317 2011-02-16
Joymine 2012-08-29