第四章

作者: 三土垚6 | 来源:发表于2019-12-24 21:22 被阅读0次

    连接
    本章将考察一个典型的连接器,注意它是如何对c程序进行处理,从而归纳出一些由于连接器的特点而可能导致的错误。

    某些c语言实现提供了一个称为lint的程序,可以捕获到需要了解多个源程序文件才能察觉的错误。

    1> 连接器的工作原理:连接器的输入是一组目标模块和库文件,连接器的输出是一个载入模块。
    连接器读入目标模块和库文件,同时生成载入模块。对每个目标模块中的每个外部对象,连接器都要检查载入模块,看是否已有同名的外部对象。

    2> c语言中每个外部变量只能能够定义一次,如果在不同的源文件中定义了同一个变量,大多数系统会拒绝接受该程序。
    两个相同名称的外部对象实际上代表的是同一个对象,即使编程者的本意并非如此。
    3> c语言语法规则先声明再使用,这是有别于其他语言的。
    4> 外部变量的类型在定义时一定要一致。
    不要出现使用具有歧义甚至是错误的定义,如:
    在一个文件中定义 long n;而在另一个文件中声明 extern int n;
    这可能导致难以预想的错误。

    为了避免在4中谈到的问题,我们只需要接受一个简单的规则:
    每个外部对象在在一个地方声明。这个声明的地方一般就在一个头文件中,需要用到该外部对象的所有模块都应该包括在这个头文件中。

    第四章到此结束!

    相关文章

      网友评论

          本文标题:第四章

          本文链接:https://www.haomeiwen.com/subject/oezvnctx.html