linux下C语言编程问题

在openSUSE下编写了如下代码:#include<sys/types.h>#include<sys/stat.h>#include<fcntl.h>#include<... 在openSUSE下编写了如下代码:
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
#include<stdio.h>
int main()
{
int retu;
retu=open("/home/Proust/Documents/file1.C",O_WRONLY);
if(retu>0) printf("created\n");
else {printf("failed");}
return 0;
}

在用gcc编译的时候,提示错误
linux-bgax:/home/proust/Documents # gcc file1.C -o file1
/tmp/ccmu0nIq.o:(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'

请问是哪里出错了,望各位指教,在下感激不尽啊。(源代码里面想打开的文件就是这个源文件自身)
展开
 我来答
腐烂菠萝
2009-10-11 · TA获得超过169个赞
知道小有建树答主
回答量:130
采纳率:0%
帮助的人:91万
展开全部
把文件名改成file1.c (也就是说C小写)试试
或许是gcc把你那文件当作了C++源文件
jiangtao9999
2009-10-11 · TA获得超过1.2万个赞
知道大有可为答主
回答量:1.2万
采纳率:44%
帮助的人:8176万
展开全部
jiangtao@Gentoo ~/aasdasd $ ls
file1.C
jiangtao@Gentoo ~/aasdasd $ gcc file1.C
/tmp/ccwNt5Nh.o:(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'
collect2: ld 返回 1
jiangtao@Gentoo ~/aasdasd $ mv file1.C file1.c
jiangtao@Gentoo ~/aasdasd $ gcc file1.c
jiangtao@Gentoo ~/aasdasd $ ls
a.out file1.c
jiangtao@Gentoo ~/aasdasd $ gcc file1.c -o file1
jiangtao@Gentoo ~/aasdasd $ ls
a.out file1 file1.c

印象里扩展名是大写 C 是另外一个意思。编译过程不一样。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kenzhon
2009-10-11 · TA获得超过2346个赞
知道小有建树答主
回答量:957
采纳率:0%
帮助的人:1060万
展开全部
可能是文件名的后缀,不要用大写C,改成小写c。我试过就是因为后缀名的原因编译不了(不过是在cygwin上)。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式