zoukankan      html  css  js  c++  java
  • C++ 内接连与外接连

    1、内连接与外连接的最大区别是其查找某个定义时,所采用的策略。

       内连接:

        对这个定义的访问被局限在当前编译单元,其他编译单元无法访问,所以在连接时,它不会和其它的编译对象(.o/.obj)对象作比较,所以这些对象,也不能通过extern来访问。(static、const、类的成员/函数)

       外连接:

        可被其他单元访问,那么在连接时,会在其它编译对象中查找,判断是否重复,是否被定义。

    2、外连接:

      即在声明时使用extern,并给出定义,在其它文件中使用时,使用extern加上声明就可

      如:

      在 1.cpp:

      extern int num = 111;

      void Test(){}

      在 2.cpp:

      extern int num; // 此处引用1.cpp的num

      extern void Test();

    3、内连接:

      在1.cpp中:

      static int a = 3;

      const int b = 4;

      class A

      {

        int c;

        void Test(){}

      };

      在2.cpp中:

      static int a = 5;

      const int b = 6;

      class B

      {

        int c;

        void Test(){}

      };

      此时不会报重复定义的错误,因为其查找就在当前文件中,不会去管其它文件中的定义。

  • 相关阅读:
    scan design rules
    scan cell
    DFT basics
    测试性分析
    DFT设计绪论
    clock gate cell
    Linux命令
    Multi-voltage和power gating的实现
    Power Gating的设计(架构)
    Power Gating的设计(模块二)
  • 原文地址:https://www.cnblogs.com/wang-can/p/3704866.html
Copyright © 2011-2022 走看看