鸟语天空
多文件
post by:追风剑情 2020-1-13 20:16

      只有当程序由多个翻译单元组成时,才体现区别内部链接和外部链接的重要性。复杂的C程序通常由多个单独的源代码文件组成。有时,这些文件可能要共享一个外部变量。C通过在一个文件中进行定义式声明,然后在其他文件中进行引用式声明来实现共享。也就是说,除了一个定义式声明外,其他声明都要使用extern关键字。而且,只有定义式声明才能初始化变量

      注意,如果外部变量定义在一个文件中,那么其他文件在使用该变量之前必须先声明它(用extern关键字)。也就是说,在某文件中对外部变量进行定义式声明只是单方面允许其他文件使用该变量,其他文件在用extern声明之前不能直接使用它。

      过去,不同的编译器遵循不同的规则。例如,许多UNIX系统允许在多个文件中不使用extern关键字声明变量,前提是只有一个带初始化的声明。编译器会把文件中一个带初始化的声明视为该变量的定义。

评论:
发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容