快速发布收录 推广展示
早上好, 游客 <游客> [ 马上登录 | 注册帐号 ]
首页 交互设计 正文

C语言必学之内部链接和外部链接

发布日期:2024-07-31 更新日期:2024-09-12 作者: 16757网址导航 阅读:300 次
首先让我们定义一下:范围:标识符的范围是程序的一部分,可以直接访问标识符。在C语言中,所有标识符都在词法(或静态)范围内。链接:链接描述了名称在整个程序或一个翻译单元中如何引用或不引用同一实体。以上听起来与Scope相似,但事实并非如此。要了解上述含义,让我们深入研究编译过程。翻译单元:翻译单元是一个包含源代码,头文件和其他依赖项的文件。所有这些源都组合在一个文件中,因为它们用于产生一个单个可执行对象。以有意义的方式将源链接在一起很重要。例如,编译器应该知道printf定义位于stdio头文件中。在C和C ++,即由多个源代码文件中的程序被编译一次一个。在编译过程之前,可以通过变量的作用域来描述变量。只有在链接过程开始时,链接属性才起作用。因此,范围是由编译器处理的属性,而链接是由链接器处理的属性。链接器在编译过程的链接阶段将资源链接在一起。链接器是一个程序,它将多个机器代码文件作为输入,并生成可执行的目标代码。它解析符号(即,获取符号的定义,例如“ +”等。)并将对象排列在地址空间中。链接是一个属性,它描述链接器应如何链接变量。变量应该可供另一个文件使用吗?应该只在声明的文件中使用变量吗?两者都是由链接决定的。因此,链接使您可以将每个文件的名称耦合在一起,范围决定了这些名称的可见性。有两种类型的链接:1.内部链接:实现内部链接的标识符无法在声明它的翻译单元外部访问。该单元内的任何标识符都可以访问具有内部链接的标识符。它由关键字实现static。内部链接的标识符存储在RAM的初始化或未初始化段中。(注意: static 在引用范围方面也有含义,但此处不做讨论)。一些例子:

共收录0个网站,0个公众号,0个小程序,0个资讯文章,0个微信文章
首页 关于我们 联系我们 广告合作 免责声明 友情链接 TAGS标签
点击收藏小提示:按键盘CTRL+D也能收藏哦!
网站声明:本站所有资料取之于互联网,任何公司或个人参考使用本资料请自辨真伪、后果自负,不承担任何责任。在此特别感谢您对分类目录网的支持与厚爱!
16757分类目录版权所有©(2006-2025)16757.COM All Rights Reserved.   黔ICP备19007148号-10