gpt4 book ai didi

c++ - gcc 错误地链接外部?

转载 作者:太空狗 更新时间:2023-10-29 20:53:13 24 4
gpt4 key购买 nike

我对 gcc 比较陌生,我使用的是“gcc (tdm-1) 5.1.0”。我错误地遇到了一个非常特殊的情况。我已经将我的担忧缩小到一个非常小的可重现的例子......

main.cpp

extern int g;

int main(){
return g;
}

someOtherFile.cpp

#include<windows.h>

RECT g;

我用这个编译

gcc -c someOtherFile.cpp
gcc main.cpp someOtherFile.o

这将正确链接。

关于为什么允许链接,我是否遗漏了什么?

最佳答案

3.5/10:

After all adjustments of types (during which typedefs (7.1.3) are replaced by their definitions), the types specified by all declarations referring to a given variable or function shall be identical, except that declarations for an array object can specify array types that differ by the presence or absence of a major array bound (8.3.4). A violation of this rule on type identity does not require a diagnostic.

最后一句话意味着编译器和链接器不需要给你错误信息。把事情弄清楚是你的工作。

关于c++ - gcc 错误地链接外部?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43441714/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com