gpt4 book ai didi

c++ - 为什么 gcc 不给我警告或错误?

转载 作者:太空宇宙 更新时间:2023-11-03 10:44:06 25 4
gpt4 key购买 nike

我创建了共享库:

库.h:

int fun( int a, int b);

lib.cpp:

#include <lib.h>

int fun ( int a, int b)
{
return a+b;
}

编译它:

gcc -fPIC -c lib.cpp
gcc -shared -o -I ./header lib.so lib.o

我的 lib.h 位于 ./header 中。至此,编译成功。之后我更改了 lib.cpp:

#include <lib.h>

int fun ( int a)
{
return a;
}

但是什么也没有发生。我想查看错误消息或警告。这是为什么?

最佳答案

在 C++ 中,定义第二个具有相同名称但不同参数的函数是合法的。在 C 中编译库时会出错,但在 C++ 中不会。

现在无论使用哪种语言,任何使用您的库的人都会得到一个 undefined symbol 错误。 header 中列出的函数未在任何地方定义。

关于c++ - 为什么 gcc 不给我警告或错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26370467/

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