gcc: 内部错误:文件大小超出限制 gcc: Internal error: File size limit exceeded

今天使用gcc编译程序时,出现了如下错误:

gcc: 内部错误:文件大小超出限制

[root@hdfs05 COpFile]# gcc readxml.c
gcc: Internal error: File size limit exceeded (program as)
Please submit a full bug report.
See <URL:http://bugzilla.redhat.com/bugzilla> for instructions.


[root@hdfs05 COpFile]# gcc readxml.c
gcc: 内部错误:文件大小超出限制 (程序 cc1)
请提交一份完整的错误报告。
具体步骤请参见 <URL:http://bugzilla.redhat.com/bugzilla>。

解决办法:

    这是由于我在shell中误操作了命令“ulimit 0”所导致的,
    ulimit命令是用来限制用户的某些系统资源的,包括可以打开的文件数量、可

以使用的CPU时间、可以使用的内存总量、当前shell可以建立的最大文件容量等等

。命令具体使用请查阅相关资料,这里只介绍与文件大小限制相关的知识。
   
    命令使用方式: ulimit [-SHacdfilmnpqstuvx] [配额]

    ulimit默认的选项是 -f,即限制当前shell可以建立文件的最大容量,其单位

是KB,注意是当前shell,即若在当前shell中使用了 ulimit -f 命令,其作用范围

只是当前shell,不会作用于其他shell。

    例如 :
    ulimit 1024 = ulimit -f 1024 表示可以建立的最大文件容量是1024KB=1M。
使用 ulimit -f 或者ulimit可以查看限制的容量大小。如果不想限制创建文件的大

小,可以将配额赋值为unlimited,例如: ulimit unlimited 或 ulimit -f

unlimited。

    由于我使用了命令 ulimit 0,最大文件是0,所以gcc编译会出现错误,
    解决办法是:
    在当前shell中运行命令 ulimit unlimited ;
    或者
    退出该shell,重新启动一个shell

    此外,介绍一下 ulimit -c [配额] 命令,它是限制可以建立的最大核心文件(core files)的容量,在使用gdb调式程序时可能要用到它。

    例如:

 xiaosuo@gentux test $ ulimit -c
 0
 xiaosuo@gentux test $ ulimit -c 1000
 xiaosuo@gentux test $ ulimit -c
 1000
 xiaosuo@gentux test $ ./a.out
 段错误 (core dumped)
 
        编译出现错误,产生了core文件,
        用gdb调试一下core文件:
        xiaosuo@gentux test $ gdb ./a.out core

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值