linux gcc 命令
1,-c 编译目标代码
gcc -o hello.o -c hello.c //-o 只是指定生成目标文件名
或
gcc -c hello.c
都生成hello.o文件,不可以执行。
gcc -o hello hello.o
用目标文件生成hello可执行文件。
gcc -o hello hello.c
用源文件直接生成hello可执行程序。
2,
-fpic或-fPIC 产生位置无关的目标代码,可用于构造共享函数库。
# gcc -fPIC -c message.c
“PIC”命令行标记告诉 GCC
产生的代码不要包含对函数和变量具体内存位置的引用,这是因为现在还无法知道
使用该消息代码的应用程序会将它连接到哪一段内存地址空间。这样编译输出的文
件 message.o 可以被用于建立
共享函数库。
# gcc -shared -o libmessage.so message.o
将上面的mian.c使用共享库函数ligmessage.so编译:
# gcc -o goodbye -lmessage -L. message.o
3,gcc的常用连接选项有下列几个:
-Ldir 将dir目录加到搜寻-l选项指定的函数库文件的目录列表中去,并优先于gcc缺省的搜索目录。在有多个-L
选项的情况下,按命令行上-L选项的前后顺序搜索。dir可使用相对路径。如-L../lib等。
-lname 在连接时使用函数库libname.a,连接程序在-Ldir选项指定的目录下和/lib,/usr/lib目录下寻找该库文件。在没有使用-static选项时,如果发现共享函数库libname.so,则使用libname.so进行动态连接。
-static 禁止与共享函数库连接。
-shared 尽量与共享函数库连接。
4,编译选项顺序
$ gcc test.o -L. -lhello -o test
注意: $gcc -L. -lhello test.o -o test 会出错!。
原因是: -l是链接器选项,必须要放到被编译文件的后面。 所以上面的命令中-lhello一定要放到 test.o的后面。
相关文档:
linux中touch命令参数不常用,一般在使用make的时候可能会用到,用来修改文件时间戳,或者新建一个不存在的文件,以下是linux中touch命令参数的使用方法:
touch [-acm][-r ref_file(参照文件)|-t time(时间值)] file(文件名)
example:
touch file1.txt 更新file1.txt的存取和修改时间
touch -c file1.tx ......
1、 freemind 思考软件
sudo pacman -S freemind
2、 gnomesword 圣经学习软件# clucene-0.9.21b-1 sword-1.6.1-1 xiphos-3.1.2-1
sudo pacman -S gnomesword
3、exaile音乐播放器
sudo pacman -S exaile
4、安装 mp3blaster
sudo pacman -S mp3blaster
5 、安装msn软件
sud ......
修改目标:用自定义的ppm图片替代/drivers/video/logo/logo_linux_clut224.ppm
同时删除logo_linux_clut224.c logo_linux_clut224.o文件这样才能使编译的使用logo_linux_clut224.ppm重新编译
ppm图片的生成:
# pngtopnm logo_linux_clut224.png > logo_linux_clut224.pnm
# pnmquant 224 logo_linux_clut224.pnm &g ......
先介绍一下情况,服务器A和服务器B都是CentOS 4.6的系统,现在要做HA
Cluster,为了避免裂脑的发生,要提高心跳链路的可靠性,下图是现时的连接情况,服务器A的eth2、eth3分别和服务器B的eth2、eth3
相连(没有顺序关系),所有网卡都是千兆网卡,拓扑图如下所示:
在介绍一起硬件情况,服务器A是一台HP DL380
G5, ......