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

发布于 2024-11-07 10:08:12 字数 633 浏览 2 评论 0原文

我在 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 扩展名与我们使用它们的原因相同,那么它们之间的确切区别是什么?它们为什么存在?

I write a program in c++ on ubuntu (10.04)and saved it as.cc file when i complile

it wit g++ cat.cc it work fine . There is no problem the code is working fine.

but when i compile it with gcc than it show me an error which is following :/tmp/cc8aU82C.o:(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status

my code is following :

#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);
}

Now can anybody tell me what happens wrong when i compile it with gcc?

What is the exact difference between .cpp and .cc extension if they are same than why we use them ? why do they exist ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

两仪 2024-11-14 10:08:12

如果您使用 gcc 进行编译,则默认情况下不会链接 C++ 运行时,因此您将收到与您所看到的类似的链接器错误。 gcc 和 g++ 都会将带有 .cpp 和 .cc 扩展名(以及我忘记的其他扩展名)的文件编译为 C++,而将带有 .c 扩展名的文件编译为 C。但最好是明确地在 C++ 代码中使用 g++,海湾合作委员会为C。

If you compile with gcc, the C++ runtime is not linked in by default, so you will get linker errors like the one you are seeing. gcc and g++ will both compile files with the .cpp and .cc extensions (and others which I have forgotten) as C++, and those with a .c extension as C. But its better to be explicit and use g++ fror your C++ code and gcc for C.

妖妓 2024-11-14 10:08:12

gcc是C编译器而不是C++编译器,g++是C++编译器。

gcc is C compiler not C++ compiler, g++ is the C++ compiler.

﹉夏雨初晴づ 2024-11-14 10:08:12

它们的存在是因为有些人使用了它们。 :-)

当您使用 g++ 编译时,您表示要将代码编译为 C++。那么扩展就无所谓了。

They exist because some people have used them. :-)

When you compile with g++ you say that you want to compile the code as C++. Then the extension doesn't matter.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文