linux C/C++静态库制作

简介: linux C/C++静态库制作
  • 概念:程序在编译时会把库文件的二进制代码链接到目标程序中,这种方式称为静态链接。
    如果多个程序中用到了同一静态库中的函数或类,就会存在多份拷贝。
  • 特点:
  • 静态库的链接是在编译时期完成的,执行的时候代码加载速度快。
  • 目标程序的可执行文件比较大,浪费空间。
  • 程序的更新和发布不方便,如果某一个静态库更新了,所有使用它的程序都需要重新编译。

├── app

│ └── demo.cpp

└── tools

├── public.cpp

└── public.h

静态库制作

[root@localhost tools]# g++ -c -o libpublic.a public.cpp

├── app

│ └── demo.cpp

└── tools

├── libpublic.a

├── public.cpp

└── public.h

编译

g++ -o demo demo.cpp -L/home/root/code/02demo/tools -lpublic

├── app

│ ├── demo

│ └── demo.cpp

└── tools

├── libpublic.a

├── public.cpp

└── public.h



相关文章
|
9月前
|
网络协议 安全 Linux
Linux C/C++之IO多路复用(select)
这篇文章主要介绍了TCP的三次握手和四次挥手过程,TCP与UDP的区别,以及如何使用select函数实现IO多路复用,包括服务器监听多个客户端连接和简单聊天室场景的应用示例。
214 0
|
1月前
|
Linux 编译器 vr&ar
Linux的动态库与静态库
静态库在编译时直接嵌入到最终的可执行文件中。
58 0
|
9月前
|
存储 Linux C语言
Linux C/C++之IO多路复用(aio)
这篇文章介绍了Linux中IO多路复用技术epoll和异步IO技术aio的区别、执行过程、编程模型以及具体的编程实现方式。
359 1
Linux C/C++之IO多路复用(aio)
|
9月前
|
算法 C++ 容器
C++标准库(速查)总结
C++标准库(速查)总结
206 6
|
7月前
|
存储 编译器 Linux
动态链接的魔法:Linux下动态链接库机制探讨
本文将深入探讨Linux系统中的动态链接库机制,这其中包括但不限于全局符号介入、延迟绑定以及地址无关代码等内容。
1639 141
|
5月前
|
消息中间件 Linux C++
c++ linux通过实现独立进程之间的通信和传递字符串 demo
的进程间通信机制,适用于父子进程之间的数据传输。希望本文能帮助您更好地理解和应用Linux管道,提升开发效率。 在实际开发中,除了管道,还可以根据具体需求选择消息队列、共享内存、套接字等其他进程间通信方
120 16
|
6月前
|
XML 网络协议 API
超级好用的C++实用库之服务包装类
通过本文对Boost.Asio、gRPC和Poco三个超级好用的C++服务包装类库的详细介绍,开发者可以根据自己的需求选择合适的库来简化开发工作,提高代码的效率和可维护性。每个库都有其独特的优势和适用场景,合理使用这些库可以极大地提升C++开发的生产力。
144 11
|
9月前
|
存储 程序员 C++
C++常用基础知识—STL库(2)
C++常用基础知识—STL库(2)
139 5
|
9月前
|
存储 自然语言处理 程序员
C++常用基础知识—STL库(1)
C++常用基础知识—STL库(1)
153 1
|
9月前
|
Linux API 开发工具
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
ijkplayer是由B站研发的移动端播放器,基于FFmpeg 3.4,支持Android和iOS。其源码托管于GitHub,截至2024年9月15日,获得了3.24万星标和0.81万分支,尽管已停止更新6年。本文档介绍了如何在Linux环境下编译ijkplayer的so库,以便在较新的开发环境中使用。首先需安装编译工具并调整/tmp分区大小,接着下载并安装Android SDK和NDK,最后下载ijkplayer源码并编译。详细步骤包括环境准备、工具安装及库编译等。更多FFmpeg开发知识可参考相关书籍。
291 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库