gcc与make简易用法

关于gcc

第一种

gcc main.c //会产生a.out,然后执行 ./a.out

第二种

gcc -c main.c //会产生main.o

gcc -o main main.o //main 是生成的可执行文件,运行./main

gcc -O -c main.c //-O为产生优化的参数

gcc -Wall -c main.c //为产生更详细的编译过程信息

gcc sin.c -lm -L/lib -L/usr/lib

-l是加入某个函式库(library)的意思

m,则是 libm.so这个函式库,其中lib与扩展名(.a或者.so)不需要写

gcc sinc -lm -I/usr/include

-I/path后面的路径是要设定要去寻找相关的include档案的目录

关于make

vim makefile

内容如下

LIBS = -lm

OBJS = main.o haha.o sin_value.o cos_value.o

CFLAGS = -Wall

main: ${OBJS}

gcc -o $@ ${OBJS} ${LIBS} <==那個 $@ 就是 main !

clean:

rm -f main ${OBJS}

Tarball的管理

为安装到单独目录的软件之man page加入man path 搜寻

如果你安装的软件放置到 /usr/local/software/,那么man page 搜寻的设定中,在

/etc/man.config 40~50行左右出,写入如下一行

MANPATH /usr/local/software/man

将动态函式库加载高速缓存当中

1.在/etc/ld.so.conf里面写下 想要读入高速缓存当中的动态函式库所在的目录

2.利用 ldconfig 这个执行档案 /etc/ld.so.conf 的资料读入快取当中

3.同时也将数据记录一份在/etc/ld.so.cache这个档案中

vim /etc/ld.so.conf //加入,读进cache

ldconfig -p //列出目前所有函式库资料内容

程序的动态函式库解析 ldd

ldd /usr/bin/passwd

ldd -v /lib/libc.so.6 //找出/lib/libc.so.6 这个函式库的相关其他函式库

检测软件的正确性

md5sum go1.5.1.linux-amd64.tar.gz

sha1sum go1.5.1.linux-amd64.tar.gz