不是总结,比较片面,一点心得。
全局变量不是static就是extern的,不管是const或者非const。extern的全局变量会产生一个全局符号。static的全局变量或许会产生一个局部符号。(因为是局部符号,如果单元内未使用到这个变量,编译器可能优化不产生这个符号)
非const情况:
默认是extern的。
const情况:(不同编译器,产生的符号的作用范围不一样g++ gcc,其他编译器不知道。)
g++ 默认是static的。产生局部符号。g++(gcc) 4.1.2
gcc 默认是extern的。产生全局符号。gcc(gcc) 4.1.2
总结,有良好的使用规范。尽量写清楚修饰符。人容易理解,编译器也会一致。
阅读(1272) | 评论(0) | 转发(0) |