extern是计算机语言中的一个关键字,可置于变量或者函数前,以表示变量或者函数的定义在别的文件中。提示链接器遇到此变量或函数时,在其它模块中寻找其定义。这个模块是相对于整个工程,并不需要其包含在其所有的头文件。
问题:
1、如果在多个文件中声明了同一个全局变量,此时会怎样?
首先,如果你的编译配置设置了NO COMMON BLOCK为YES,则会造成编译不通过,原因可参考: Xcode Build Settings中No Common Blocks配置项
此时,所有全局变量的内存地址会是同一块。
原因还没想明白.
Demo可见。Demo
网友评论