|   |      1 
                                  3
                             您的链接器可以简单地丢弃它认为没有使用的符号(GNU链接器就是这样做的)。在这种情况下,可以显式地将对象文件与该符号链接起来。 在没有任何额外的努力的情况下,C++无法控制在其他编译单元中定义的全局对象的初始化顺序。 http://www.parashift.com/c++-faq-lite/ctors.html#faq-10.12 ). 使用“construct on first Use”习惯用法,简单地说就是将静态对象包装到函数中。 | 
|   |      2 
                                  2
                             如果您有: 以及: 
   那么这应该管用。但是,如果你换第二行
    
   然后你需要确保
    
    
   这两种方法都不应导致分割错误。如果您遇到分割错误,那么问题可能是
    
   
   
    | 
|   |      3 
                                  2
                             
  | 
|   | Bosz · 如何使用python ctypes定义未定义的符号 7 年前 | 
|   | Tsikon · 内联函数的未解析符号 7 年前 | 
|   | daya · 无法理解全局变量和具有外部存储类的变量之间的区别? 8 年前 | 
|  | user5117637 · C++如何区分调用全局变量和声明全局变量? 10 年前 |