`
v5browser
  • 浏览: 1134382 次
社区版块
存档分类
最新评论

C++: Linux上静态库和动态库

 
阅读更多

库由abc.h和abc.cpp组成:

~/cpp/mylib$ cat lib/abc.h

class Abc {

public:

Abc();

void log();

};

~/cpp/mylib$ cat lib/abc.cpp

//动态:g++ -shared-fPIC -o libabc.so abc.h abc.cpp

//静态:

//g++ -O -c abc.h abc.cpp

//ar -rsv libabc.a abc.o

#include "abc.h"

#include <stdio.h>

Abc::Abc() {

printf("%s,%d\n",__FUNCTION__,__LINE__);

}

void Abc::log() {

printf("%s,%d\n",__FUNCTION__,__LINE__);

测试文件abcmain.cpp:

cox@cox:~/cpp/mylib$ cat abcmain.cpp

//动态:g++ abcmain.cpp-o abcmain -labc

//静态:g++abcmain.cpp -o abcmainstatic -L ./ -labc

#include "abc.h"

int main() {

Abc abc;

abc.log();

}

分享到:
评论

相关推荐

    linux下静态库和动态库的创建以及使用

    关于库的测试代码,使用静态库动态库 解压工具tar

    9.C++静态库和动态库1

    创建静态库(.a)通过上面的流程可以知道,Linux创建静态库过程如下:l 首先,将代码文件编译成目标文件.o(StaticMath.o)g++ -c Sta

    grpc-1.30.2 Linux 编译静动态库

    默认编译是静态库,但考虑到 linux 上动态库使用较多,所以使用 -DBUILD_SHARED_LIBS=ON 参数编译为动态库。 在 centos 7 下使用 gcc 4.8.5 + cmake 3.16.9 编译,包含 bin, include, lib, lib64, share 五个目录,...

    linux下C++动态链接C++库示例

    文中是linux下 C++动态库 实现接口提供类导出的一个例子 注意其中使用函数返回基类指针的用法,因为Linux的动态链接库不能像MFC中那样直接导出类 一、介绍 如何使用dlopen API动态地加载C++函数和类,是Unix C++...

    Linux下g++编译与使用静态库和动态库的方法

    在windows环境下,我们通常在IDE如VS的工程中开发C++项目,对于生成和使用静态库(*.lib)与动态库(*.dll)可能都已经比较熟悉,但是,在linux环境下,则是另一套模式,对应的静态库(*.a)与动态库(*.so)的生成...

    Linux静态动态链接库的创建和使用

    Linux静态动态链接库的创建和使用

    Linux C++编译及 静态/动态 链接库 笔记

    NULL 博文链接:https://cherishlc.iteye.com/blog/2265220

    Linux下的静态库、动态库和动态加载库

    库的存在极大的提高了C/C++程序的复用性,但是库对于初学者来说有些难以驾驭,本文从Linux的角度浅谈Linux下的静态库、动态库和动态加载库。  Linux库类型  Linux下可以创建两种类型的库:  1、静态库(.a): 在...

    VS2015编译好的GDAL 2.4.4 静态库和动态库都有,可直接使用

    在VS2015的平台下编译的GDAL2.4.4库,静态和动态的库都有,可直接使用

    Linux多线程服务端编程:使用muduo C++网络库

    《Linux多线程服务端编程:使用muduo C++网络库》主要讲述采用现代C++在x86-64 Linux上编写多线程TCP网络服务程序的主流常规技术,重点讲解一种适应性较强的多线程服务器的编程模型,即one loop per thread。...

    linux下动态库开发调用

    linux系统下用eclipse开发c++动态库(MyDll),并用c++程序(HelloWord)静态和动态2种方法调用动态库的例子,里面有比较详细的注释,适合初学者。

    redis plus plus 动态库和静态库文件

    在github上下载支持linux的redis plus plus 进行CMake,生成的支持在windows、C++(支持集群、哨兵、连接池等) 项目下使用的动态库和静态库文件,其他详细使用教程及例程参见源码网址...

    CentOS7下编译的zeromq 4.3.1版本静态和动态库

    在CentOS7操作系统下编译的最新版zeromq 4.3.1静态库和动态库,经过测试程序的检验,库可用

    Linux下的StanfordCPPLib(含动态库和静态库)

    斯坦福大学的C++开源类库,已打包成Linux下的链接库。适用于教材《C++程序设计 基础、编程抽象与算法策略》,内附使用说明。

    Android NDK生成及连接静态库与动态库的方法

    因此,这里我将为大家介绍如何给其它开发者创建可供使用的静态库或动态库。而应用开发者如何去连接这些生成的静态库或动态库。由于现在Android Studio已经比较成熟,因此以下描述将基于Android Studio的目录布局。 ...

    gRPC-1.62.1 Linux 编译静动态库

    默认编译是静态库,但考虑到 linux 上动态库使用较多,所以使用 -DBUILD_SHARED_LIBS=ON 参数编译为动态库。 在 ubuntu 下使用 gcc 4.8.5 + cmake 3.28 编译,包含 bin, include, lib, lib64, share 五个目录,可以...

    OpenSSL C++库:1.1、3.0、3.0.5

    内含 windows x64/x86 静态库/动态库 linux 库文件

    Linux动态库相关知识整理

    动态库和静态库在C/C++开发中很常见,相比静态库直接被编译到可执行程序,动态库运行时加载使得可执行程序的体积更小,更新动态库可以不用重新编译可执行程序等诸多好处。作者是一个Linux后台开发,这些知识经常用到...

    GCC 编译使用动态链接库和静态链接库的方法

    根据链接时期的不同,库又有静态库和动态库之分。 静态库是在链接阶段被链接的(好像是废话,但事实就是这样),所以生成的可执行文件就不受库的影响了,即使库被删除了,程序依然可以成功运行。 有别于静态库,动态...

    linux下OCE.zip OpenCascade社区版的动静态库

    linux下OCE0.18.3 C++的库,OCE是opencascade社区版 的库,相当于OCC的简化版,但是主要的api都在的,动态静态都有,我看csdn没有就自己编译了一个,使用cmake编译,包括整个cmake build好的,包括数个例子和库,...

Global site tag (gtag.js) - Google Analytics