正在加载...

gcc 静态编译

[ 2011/10/01 19:32 | by selboo ]

gcc 静态编译
        就是在编译的时候把你所有的模块和库文件编译到一个可执行文件中,当你启动这个程序的时候所有模块和库加载到内存。加快程序执行效率,
优点:速度快,依赖性低
缺点:体积大,加载慢
This is The C Code
[root@74-82-173-217 static]# cat add.c
int add (int x, int y) {
        return x + y;
}
Parsed in 0.009 seconds at 10.00 KB/s
add.c 求和函数
This is The C Code
[root@74-82-173-217 static]# cat print.c
#include <stdio.h>
void print (int x) {
       printf ("%d\n",x);
}
Parsed in 0.010 seconds at 10.86 KB/s
print 打印函数
This is The C Code
[root@74-82-173-217 static]# cat head.h
#ifndf HEAD_H
#define HEAD_H
int add (int ,int);
void print (int);
#endif
Parsed in 0.013 seconds at 8.74 KB/s
head.h 声明头文件
This is The C Code
[root@74-82-173-217 static]# cat main.c
#include <stdio.h>
#include "head.h"
int main () {
        int x = add(3, 5);
        print(x);
}
Parsed in 0.010 seconds at 13.90 KB/s
main.c 主函数
1、编译
[root@74-82-173-217 static]# gcc -c add.c print.c
编译目标文件 add.c print.c 生成 add.o print.o

2、生成静态库
[root@74-82-173-217 static]# ar -r lib.a add.o print.o
使用 ar 命令生成 lib.a 静态库

3、生成执行文件
[root@74-82-173-217 static]# gcc -static main.c lib.a -o main
使用 gcc -static 参数 加载lib.a 静态库生成 main 执行文件
内文分页: [1] [2]

最后编辑: selboo 编辑于2012/05/08 15:35
Tags: , ,
,
发表评论
表情
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   游客无需密码
网址   电邮   [注册]