这两天做一个工程,需要在c++编译器下对c语言的程序进行编译,自己便对extern “C”做了一些研究,以及对函数以及变量的定义以及声明做了一些学习,现介绍自己的学习心得如下:
一、 函数的声明与定义
对于函数而言,定义与声明比较好理解,像我们日常常用的在头文件中进行函数声明,然后在.cpp文件中进行定义,需要用到函数的时候,在使用函数的文件中 include“xxx.h” 便可以使用定义的函数了。
这里需要提醒的是:
1、在头文件中只进行声明,不进行定义,因为如果在头文件中进行定义的话,如果你在多个.cpp文件中要引用这个头文件那么会产生多重定义的错误的。
2、函数的声明在前面加上“extern”,如extern int func(); 表明被修饰的函数定义在当前文件外,但是函数的声明默认便是extern的所以不需要加extern也是一样的。
3、函数的声明前面加上“static”,表明该函数是一个静态函数,作用便是该函数只能在当前文件中被使用,其他文件中不可以使用。减小了函数的作用范围。