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

来源:互联网 发布:缠论123战法源码 编辑:程序博客网 时间:2024/05/22 17:43

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文件必须在编译文件夹下,如果没有这些头文件,编译器将报错。

 

原创粉丝点击