gpt4 book ai didi

c++ - c ,c++文件扩展名问题

转载 作者:太空宇宙 更新时间:2023-11-04 01:40:43 26 4
gpt4 key购买 nike

我在 ubuntu (10.04) 上用 c++ 编写了一个程序,并在编译时将其保存为 .cc 文件

它与 g++ cat.cc 工作正常。没有问题,代码工作正常。

但是当我用 gcc 编译它时,它显示了以下错误:/tmp/cc8aU82C.o:(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'collect2: ld 返回 1 个退出状态

我的代码如下:

#include<stdio.h>
#include<stdlib.h>
struct man
{
int a ;
int b;
void show(int x,int y);
}
};

int main()
{
man m;
int c=50;
int d;
m.show(c,d);
return 0;
}

void man::show(int x,int y)
{
printf("%d",x);
}

现在有人能告诉我用 gcc 编译它时发生了什么错误吗?

如果 .cpp 和 .cc 扩展名与我们使用它们的原因相同,它们之间的确切区别是什么?它们为什么存在?

最佳答案

如果您使用 gcc 进行编译,默认情况下不会链接 C++ 运行时,因此您会遇到与您所看到的一样的链接器错误。 gcc 和 g++ 都会将带有 .cpp 和 .cc 扩展名(以及我忘记的其他扩展名)的文件编译为 C++,将带有 .c 扩展名的文件编译为 C。但是最好是显式地使用 g++ 来编译你的 C++ 代码和用于 C 的 gcc。

关于c++ - c ,c++文件扩展名问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5976191/

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