static修饰的变量和函数不可以在其他文件extern引用该变量或者函数。
static变量放在静态内存区。
static变量赋值只生效一次,再无法调用赋值语句。但是可以运算,例如++等。
extern 定义性必须是全局的变量或者函数,引用声明则不必。定义性声明指允许一次,引用声明可多次。
静态区变量生存在整个程序生命。动态区变量只生存在函数内。
C++语言在编译的时候为了解决函数的多态问题,会将函数名和参数联合起来生成一个中间的函数名称,而C语言则不会,因此会造成链接时找不到对应函数的情况,此时C函数就需要用extern “C”进行链接指定,这告诉编译器,请保持我的名称,不要给我生成用于链接的中间函数名。
收藏于 2011-10-08
来自于百度空间