在linux下生成可执行文件和库文件

l         Linux 下编写普通可执行文件的命令:

gcc –o 目标文件名 源文件名(列表)

如果工程包含多个 .c .h 那么在源文件名列表中只列出所有的 .c 文件

例:工程文件夹里有 des.c  hash.c  main.c  des.h  hash .h 要将他们编译成 EncApp 可执行文件,则使用下面的命令

    gcc  –o  EncApp  des.c  hash.c  main.c

l         Linux 下编写调用动态库或静态库的可执行文件的命令:

gcc –o 目标文件名 源文件名(列表)库文件名(列表)

如果工程包含多个 .c .h 那么在源文件名列表中只列出所有的 .c 文件和库文件

例:工程文件夹里有 main.c  enc.so 要将他们编译成 EncApp 可执行文件,则使用下面的命令

gcc  –o  EncAp  main.c  enc.so

注意: .so 文件必须事先复制到 /usr/lib 目录下

l         生成静态库需要的命令

生成静态库 .a 必须先生成 目标文件 .o 然后再生成静态库 .a

生成目标文件的命令格式为:

gcc  –c  –o  目标文件名 .o   源文件名 .c (列表)

生成静态库的命令格式为:

ar  –r  静态库文件名 .a   目标文件名 .o

l         生成动态库需要的命令

生成动态库 .so 必须先生成 目标文件 .o 然后再生成动态库 .so

生成目标文件的命令格式为:

gcc  –fpic  –c  –o 目标文件名 .o  源文件名 .c (列表)

生成动态库的命令格式为:

gcc  –shared  –o  动态库文件名 .so  目标文件名 .o

l    备注:在编译可执行文件,各种目标文件和库文件的时候,用到的 .h 文件必须在编译文件夹下,如果没有这些头文件,编译器将报错。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值