一般源代码文件为纯文本档文件,经过编译程序编译,连接后会产生一个二进制的档案,该档案则为系统可认识的可执行文件.
函式库相当与子程序的角色,可以被呼叫来执行某个功能.
Tarball档案就是将一个程序的所有原始码档案以tar打包,压缩后的压缩档案,在tarball里面通常会包括以下档案
原始码档案,
侦测程序档案,通常为configure 或 config等名称
本软件的简易说明及安装说明
make 这个指令用于简化编译过程.
当执行make时,make会在当时的目录下搜寻Makefile这个文本档案,而Makefile则记录了原始码如何编译的详细信息.
configure是一个侦测程序,用来建立Makefile档案.
#include
int main(void)
{
printf("hello world");
}
编译
gcc hello.c
测试执行
./a.out
产生目标文件与可执行文件
gcc -c hello.c
gcc -o hello hello.o
编写主,子程序
#include
int main(void)
{
printf("hello world\n");
thanks_2();
}
#include
void thanks_2(void)
{
printf("thank you \n");
}
gcc -c thanks.c thanks_2.c
gcc -o thanks thanks.o thanks_2.o
#include
int main(void)
{
float value;
value=sin(3.14/2);
printf("%f\n",value);
}
gcc sin.c -lm -L/lib -L/usr/lib
m:加入libm.so 函式库
-L 路径 :表示搜寻函式库在 -L 后面的路径.
gcc -c 源码文件 仅将源码编译为目标文件
gcc -O 源码文件 -c 产生优化的目标文件
gcc -o 目标名 源码文件名 : 将输出指定的档名
1. 简化编译时下达的指令
2. 如果编译后修改了某个档案,则make 仅会编译修改的档案.
1. #表示注释
2. 命令行前加
3. 标的与目标文件之间加冒号":"
4. 可定义变量及使用变量
main: main.o haha.o sin_value.o cos_value.o
clean:
1. C语言编译程序 gcc
2. 简化编译的程序 make
3. 依赖的库
1. 下载压缩tarball文件档案 一般解压目录/usr/local/src 命令如下 tar -zxvf 压缩档案 解压目录
2. 解压档案后,阅读里面的安装说明文件.
3. 根据档案内容建立makefile,编译软件源码,安装软件.
静态函式库
扩展名一般为*.a
编译行为:一般编译整合到程序中,所以编译后的程序一般较大
独立执行的状态:编译后的程序可独立执行.
动态函式库
扩展名一般为.so
编译行为:动态函式库在程序编译时程序中只是引用一个连接.
独立执行的状态:程序不可单独执行,必须引用函式库.
md5sum 档案
sha1sum 档案