C++;编译器-通用符号 我有一个关于C++编译器的问题。

C++;编译器-通用符号 我有一个关于C++编译器的问题。,c++,compiler-construction,compilation,gnu,gnu-toolchain,C++,Compiler Construction,Compilation,Gnu,Gnu Toolchain,C++编译器何时创建一个公共符号?使用C编译器,我可以向对象文件提供公共符号,但是如果用C++编译器(GNU)编译非常相同的代码,我只得到定义和未定义的符号。p> 因此,问题是什么环境会导致变量/函数被编译成C++中的公共? < p>它们中的一些从来没有这样做。后期和许多哀叹的WATCOM C++编译器充分利用常用符号来节省内联函数实例。有各种各样的extern案例也可以通过这种方式经济地解决。其中一些案例从未解决过。后期和许多哀叹的WATCOM C++编译器充分利用常用符号来节省内联函数实例。

<> C++编译器何时创建一个公共符号?使用C编译器,我可以向对象文件提供公共符号,但是如果用C++编译器(GNU)编译非常相同的代码,我只得到定义和未定义的符号。p>
因此,问题是什么环境会导致变量/函数被编译成C++中的公共?

< p>它们中的一些从来没有这样做。后期和许多哀叹的WATCOM C++编译器充分利用常用符号来节省内联函数实例。有各种各样的
extern
案例也可以通过这种方式经济地解决。

其中一些案例从未解决过。后期和许多哀叹的WATCOM C++编译器充分利用常用符号来节省内联函数实例。也可以通过这种方式经济地解决外部的各种情况。

公共符号存在的主要原因是Fortran及其公共块,因此命名为“公共符号”。普通符号的概念与C++是对立的,它是一个相当严格的定义规则。C也有类似的规则,但C标准也承认允许对同一符号进行多个定义是该语言的常见扩展。C++没有“公共扩展”附录。供应商是否符合该标准


底线:C++编译器没有理由生成一个公共符号。

常见符号存在的主要原因是因为FORTRAN具有公共块,因此名为“公共符号”。普通符号的概念与C++是对立的,它是一个相当严格的定义规则。C也有类似的规则,但C标准也承认允许对同一符号进行多个定义是该语言的常见扩展。C++没有“公共扩展”附录。供应商是否符合该标准


<>底线:C++编译器没有理由生成一个公共符号。我试图总结对象符号类型,我需要一个比较通用的示例,所以我想在这种情况下我无法提供它。@cosinus该示例是一个内联函数调用!谢谢我试图总结对象符号类型,我需要一个比较通用的示例,所以我想在这种情况下我无法提供它。@cosinus该示例是一个内联函数调用!