打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
在Linux和Unix环境下编写可执行文件和库文件的命令

Windows中静态库的扩展名为 .lib 动态库的扩展名为 .dll

LinuxUnix下静态库的扩展名为 .a 动态库的扩展名为 .so

 

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

 

Unix平台下

l  除了生成so文件的时候略有不同外,其他都相同,只是将 gcc 改成 cc

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

cc  –dy  –G  –o  动态库文件名.so  目标文件名.o

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
linux 下链接库的生成使用
动态库和静态库的制作过程
Linux创建静态库和动态库
LInux中动态库和静态库的制作和使用
linux中编译静态库(.a)和动态库(.so)的基本方法_only you
静态库和动态库
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服