gcc编译出错---make[5]: *** [s-attrtab] Killed

内存不足导致的编译出错,解决方法是增加swapfile。

[email protected]:home# swapon -s

Filename    Type            Size    Used    Priority

创建swapfile大小512M;

[email protected]:home# dd if=/dev/zero of=/swapfile bs=1024 count=512k

524288+0 records in

524288+0 records out

536870912 bytes (537 MB) copied, 8.54637 s, 62.8 MB/s

应用&设置;

[email protected]:/# mkswap /swapfile

Setting up swapspace version 1, size = 524284 KiB

no label, UUID=f4719d4d-1d1f-49c9-b34e-b2af28e6374e

[email protected]:/# swapon /swapfile

添加到开机启动项:

[email protected]:/# vim /etc/fstab

"/etc/fstab" 13L, 756C

# /etc/fstab: static file system information.

#

# Use ‘blkid‘ to print the universally unique identifier for a

# device; this may be used with UUID= as a more robust way to name devices

# that works even if disks are added and removed. See fstab(5).

#

# <file system> <mount point>   <type>  <options>       <dump>  <pass>

# / was on /dev/sda1 during installation

UUID=3fea2e6f-860e-40c6-8a43-296130837358 /    ext4    errors=remount-ro 0       1

# swap was on /dev/sda5 during installation

UUID=d1d5044f-57be-4eeb-a577-3e3bc99591a5 none     swap    sw   0       0

/dev/fd0        /media/floppy0  auto    rw,user,noauto,exec,utf8 0       0

/dev/sda2       /root/sda2       ext4    rw      0      1

/swapfile       none     swap    default       0              0

~

"/etc/fstab" 14L, 837C written

[email protected]:home# swapon -s

Filename      Type    Size    Used    Priority

/swapfile     file  524284  8468    -1

[email protected]:/# free

total       used       free     shared    buffers     cached

Mem:        506756     499228       7528       1104       2548     395148

-/+ buffers/cache:     101532     405224

Swap:       524284          0     524284

重新编译,即可顺利编译完成gcc

时间: 2024-10-25 12:52:10

gcc编译出错---make[5]: *** [s-attrtab] Killed的相关文章

gcc编译代码报错及编译方式

一.error: 'for' loop initial declarations are only allowed in C99 mode 前段时间写了一个小C程序,放在linux下用gcc编译出错,弹出以下错误: 百度后才知道,是gcc的模式问题. 我在for循环里习惯直接定义并初始化变量来使用: for(int i=0:i<length: i++) 而在gcc编译时是错误的,应该在循环外定义变量: int i; for(i = 0; i<length; i++) 这样才编译通过. 这是因为

GCC 编译详解 (转)

朋友用C调用lua的库,但是不能直接调用源码,必须要编译成静态链接库才可以使用,问学长说是因为要分开编译链接.这就不理解了,于是转一篇讲编译的文章学习一下,补补课… GNU CC(简称为Gcc)是GNU项目中符合ANSI C标准的编译系统,能够编译用C.C++和Object C等语言编写的程序.Gcc不仅功能强大,而且可以编译如C.C++.Object C.Java.Fortran.Pascal.Modula-3和Ada等多种语言,而且Gcc又是一个交叉平台编译器,它能够在当前CPU平台上为多种

使用gcc编译gdb调试

gcc 在linux系统中,默认是没有安装gcc编译器的,可以通过命令 rpm -q | grep gcc 来查看.安装命令为: yum -y install gcc 安装后,编写一个.c结尾的文件. gcc test.c 就会默认输出一个a.out的输出文件,这个输出文件就是可执行文件. 如果加上-o选项,则可以自定目标文件. gcc -o test test.c test就是它的可执行文件. 一般都默认加上-Wall 选项,可以自动提示一些出错警告的信息. gcc -Wall -o test

gcc编译, gdb调试, makefile写法

//test.c: #include <stdio.h> int main(void) { printf("hello world!"); return 0; } ====================================== 一. 1. 编译过程:预处理(processing)->编译(compilation)->汇编(assembly)->Linking 2. 预处理: gcc -E test.c -o test.i / gcc -E t

[转载]GCC 编译使用动态链接库和静态链接库--及先后顺序----及环境变量设置总结

来自http://blog.csdn.net/benpaobagzb/article/details/51364005 GCC 编译使用动态链接库和静态链接库 1 库的分类 根据链接时期的不同,库又有静态库和动态库之分. 静态库是在链接阶段被链接的(好像是废话,但事实就是这样),所以生成的可执行文件就不受库的影响了,即使库被删除了,程序依然可以成功运行. 有别于静态库,动态库的链接是在程序执行的时候被链接的.所以,即使程序编译完,库仍须保留在系统上,以供程序运行时调用.(TODO:链接动态库时链

gcc编译报错:程序中有游离的‘\357’‘\273’‘\277’等

造成的原因主要有两个: 1. 程序(*.c,*.h)中使用了中文的标点符号(全角),比如:,},+. 改成英文的标点半角符号就行了. 甚至有时候空格也会出现类似错误,删掉该空格 重新输入. vim里面做类似替换还是很容易的. 如何看到报错的符号? od -c hello.c > log.txt 在log中就能看到符号了 2. 如果替换成了英文标点还出错的话,还报此错误,那么就是文件存贮格式的问题了. 一般在windows下的文件都存成ansi格式,为了在linux下能通用,建议保存成UTF-8不

GCC 编译过程和链接库

GCC 加工程序的过程 在Linux下进行C语言编程,必然要采用GNU GCC来编译C源代码生成可执行程序. 一.GCC使用 Gcc指令的一般格式为:Gcc [选项] 要编译的文件 [选项] [目标文件] 其中,目标文件可缺省,Gcc默认生成可执行的文件名为:a.out 我们来看一下经典入门程序"Hello World!" # vi  main.c #include <stdio.h> void main () { printf("hello world!\n&q

GCC 编译使用动态链接库和静态链接库--及先后顺序----及环境变量设置总结

GCC 编译使用动态链接库和静态链接库 1 库的分类 根据链接时期的不同,库又有静态库和动态库之分. 静态库是在链接阶段被链接的(好像是废话,但事实就是这样),所以生成的可执行文件就不受库的影响了,即使库被删除了,程序依然可以成功运行. 有别于静态库,动态库的链接是在程序执行的时候被链接的.所以,即使程序编译完,库仍须保留在系统上,以供程序运行时调用.(TODO:链接动态库时链接阶段到底做了什么) 2 静态库和动态库的比较 链接静态库其实从某种意义上来说也是一种粘贴复制,只不过它操作的对象是目标

gcc编译工具生成动态库和静态库之一----介绍

 1.库的分类 根据链接时期的不同,库又有静态库和动态库之分. 静态库是在链接阶段被链接的(好像是废话,但事实就是这样),所以生成的可执行文件就不受库的影响了,即使库被删除了,程序依然可以成功运行. 有别于静态库,动态库的链接是在程序执行的时候被链接的.所以,即使程序编译完,库仍须保留在系统上,以供程序运行时调用.(TODO:链接动态库时链接阶段到底做了什么) 2 静态库和动态库的比较 链接静态库其实从某种意义上来说也是一种粘贴复制,只不过它操作的对象是目标代码而不是源码而已.因为静态库被链接后