1.在Makefile中创建动态库。

2.在动态库中共享class类型。

Makefile文件如下:

EXE=libexample.so
SUBDIR=srcCXX_SOURCES=$(foreach dir,$(SUBDIR),$(wildcard $(dir)/*.cpp))
CXX_OBJECTS=$(patsubst %.cpp, %.o, $(CXX_SOURCES))
DEP_FILES=$(patsubst %.o,%d, $(CXX_OBJECTS))$(EXE): $(CXX_OBJECTS)g++ -shared $(CXX_OBJECTS) -o $(EXE)%.o: %.cppg++  -c -fPIC -MMD $<  -o  $@-include $(DEP_FILES)clean:rm -rf $(CXX_OBJECTS) $(DEP_FILES) $(EXE)test:echo $(CXX_OBJECTS)

文件目录结构如下:

src文件内部如下:

源码:

example.h


class Object{public:void test();int id;
};int example(int a,int b);

example.cpp


#include <stdio.h>
#include "example.h"int example(int a, int b)
{printf("example library: a=%d, b=%d \n", a, b);return 0;
}void Object::Test()
{printf("id=%d \n", id);
}

main.cpp

#include "src/example.h"int main(){example(10,20);Object obj;obj.id=100;obj.test();return 0;
}

运行截图如下:

Linux学习笔记-生成动态库(补充说明)相关推荐

  1. 嵌入式linux学习笔记-- 对于动态库的一些操作 dlopen

    最近公司重构代码,看到了公司的一位经验丰富的工程师的一些C++ 操作 属实有被秀到,估计光看他写的代码都够我写很多总结了. 根据他写的代码以及公司未来的代码的一些规划 我也总结一些无关痛痒的知识吧. ...

  2. Linux学习笔记-gdb调试的补充说明

    gdb调试的补充说明 程序运行截图如下: 源码如下: #include <stdio.h>void test(int i){if(i==0){return;}printf("Th ...

  3. Linux学习笔记-动态库的生成

    库分为两种: (1)共享库 Shared Library  (2)静态库 Static Library 通常共享库也称为动态库. 使用g++命令来生成动态库编译,生成.o文件 (编译选项 ‐fPIC  ...

  4. linux添加自己的库,Linux学习笔记——例叙makefile 增加自定义共享库

    Linux学习笔记--例说makefile 增加自定义共享库 0.前言 从学习C语言开始就慢慢开始接触makefile,查阅了很多的makefile的资料但总感觉没有真正掌握makefile,如果自己 ...

  5. linux学习笔记(五)编译内核模块生成ko驱动文件

    系列文章目录 linux学习笔记(五)编译内核模块生成ko驱动文件 文章目录 系列文章目录 前言 一.加载内核简介 二.第一个hello world文件 1.文件树 2.hello.c 3.Makef ...

  6. Linux学习笔记之——Linux系统内部相关介绍

    Linux学习笔记之--Linux系统内部相关介绍 摘要:主要记录一些比较有用的能够帮助理解和使用Linux的知识.比如一些相关概念.没兴趣的看看就好.知道有这么个东西.注意事项.和一些常用目录的作用 ...

  7. 20155303狄惟佳预备作业三Linux学习笔记

    20155303狄惟佳预备作业三Linux学习笔记 初次接触Ubuntu系统以及Linux内核,了解了其产生的历史,从感性来讲,深深吸引我的是其中蕴含的珍贵的开源精神,以及Stallman等人对&qu ...

  8. Linux学习笔记-随即更新-慢速学习

    Linux学习笔记 Linux系统简介 UNIX发展历史和发行版本 开源软件简介 支撑互联网的开源技术 Linux应用领域 Linux学习方法 Linux系统安装 给初学者的建议 学习linux的注意 ...

  9. 大数据开发工程师基本功修炼之史上最全Linux学习笔记(建议)

    我正在参加年度博客之星评选,请大家帮我投票打分,您的每一分都是对我的支持与鼓励. 2021年「博客之星」参赛博主:Maynor大数据 (感谢礼品.红包免费送!) https://bbs.csdn.ne ...

最新文章

  1. 人工智能 机器学习系列 2:代价函数
  2. UnidentifiedImageError: cannot identify image file <_io.BufferedReader name=‘D:\\Download\
  3. [漫画]~RAGNAROK~(I部II部.全收入)
  4. 3d饼图 vue_在Vue中如何使用highCharts绘制3d饼图
  5. 关于function和Object的认识
  6. flink sql设置并行度_《从0到1学习Flink》—— Flink parallelism 和 Slot 介绍
  7. python开学吧真假,开学第一课,课课有总结
  8. 十多款优秀的Vue组件库介绍
  9. python朋友圈动态_如何利用Python网络爬虫爬取微信朋友圈动态--附代码(下)
  10. 如何强大且优雅的搞定Linux文件系统,值得一读!
  11. python期权价格计算器_使用Python构建内在价值计算器
  12. 第22篇 项目进度管理__计划评审技术__重点内容
  13. SPLUS软件授权管理必知
  14. 从零开始javaweb项目——毕业设计参考指南
  15. 如何制作ANE+Android以及ANE开发中可能遇到的坑
  16. vue组件,父传子、子传父、父调子、子调父简单理解总结
  17. 4 种经典方法IB 数学证明题分享给大家
  18. 行人重识别简介(Person ReID)
  19. Java Stream 流常用方法 lambda 表达式实现交集、并集、差集、去重复并集等
  20. Asp.net Ajax Control Toolkit设计编程备忘录(色眼窥观版)——第4回(忍者专辑)

热门文章

  1. 使用JDBC-ODBC桥接方式访问Access数据库(实例)
  2. 使用etop查看系统中进程信息
  3. SQLite数据库【转有改】
  4. xp sp3 安装不了ie8
  5. 中国民企老板要牢记的四句话
  6. 当年要是早知道这4步框架,我就不会为数据管理发愁了
  7. 不懂代码,如何做出实时刷新的数据大屏?
  8. C++实现自动发邮件代码,这个是用网易邮箱的。
  9. 要让玩家买单的facebook中文网
  10. Visual C++中的ODBC编程实例