Linux下动态库的创建与使用

原创 2007年09月30日 22:26:00
1  动态库的创建
动态库的创建很容易也有一定的技巧
如:
dynamic,h文件
class zyx
{
private:
        int a;
        int b;
public:
        zyx(int a,int b);
        int sum();
};
dynamic.cpp文件
#include"dynamic.h"
zyx::zyx(int a,int b)
{
        this->a = a;
        this->b = b;
}

int zyx::sum(int a,int b)
{
        return a+b;
}
编写完成以后我们可以编译了
 gcc -fpic -shared -o libdynamic.so dynamic.cpp
-fpic指的是生成与位置无关的文件
-shared指连接成共享库
这样我们的共享库就建立起来了不过我们最好把dynamic.h放到usr/include目录下把dynamic.cpp放到usr/lib下。这样有一个好处。就是我们可以让系统自动寻找他们。

2 共享库的使用
我们同样首先些一段测试的代码
#include<iostream>
#include<dynamic.h>
using namespace std;
int main()
{
        zyx z(1,2);
        cout<<z.sum()<<endl;
        return 0;
}
这样我们就可以编译了
g++ dynamictest.cpp -o dynamictest -ldynamic
如果没有将dynamic.h放到usr/include目录下把dynamic.cpp放到usr/lib下要手动指定include lib文件在哪里
g++ dynamictest.cpp -o dynamictest -I./ -L./ -ldynamic
其实,调用共享库有两种方法这只是其中一种比较简单的隐式调用,还有一种显示调用要生命一个外部的类的实例化函数,然后通过这个函数取得类的构造函数,相对来讲比较麻烦,这里就不说了。




Linux库的创建和使用

Linux库的创建和使用
  • WangPegasus
  • WangPegasus
  • 2014年09月17日 22:49
  • 1103

linux库文件编写入门

 linux库文件的编写作者: laomai地址: http://blog.csdn.net/laomai本文主要参考了如下资料⑴hcj写的"Linux静态/动态链接库的创建和使用"地址 http:/...
  • laomai
  • laomai
  • 2007年02月16日 10:16
  • 16562

LINUX动态链接库的创建与使用

一,LINUX系统中动态链接库的创建与使用 大家都知道,在WINDOWS系统中有很多的动态链接库(以.DLL为后缀的文件,DLL即Dynamic Link...
  • jenshy
  • jenshy
  • 2006年04月24日 10:20
  • 25072

在linux下制作libxxx.so 动态库以及使用方法

在linux下面动态库的使用是非常常用的,也是非常实用的。 步骤一: 创建一个.h头文件 ,头文件中声明动态库中的函数 #ifndef _TEST_H_ #define _TEST_H_ #if...
  • CAIYAODENG
  • CAIYAODENG
  • 2015年05月24日 10:04
  • 2759

linux下使用动态库步骤

linux下使用动态库步骤: ============================================================== 1. linux下动态库(.so...
  • yxtxiaotian
  • yxtxiaotian
  • 2017年02月08日 16:42
  • 748

动态链接库创建与使用(学习笔记)

在学习过程中,一次次的感觉到dll文件的重要性,所以乘着这两天有时间,又把孙鑫老师的视频回顾了一遍,随便做了一下笔记,以供后续使用。IDE:Visual C++ 6.0创建动态链接库的方法方法一:(单...
  • JarvisChu
  • JarvisChu
  • 2011年06月21日 16:32
  • 1450

linux下创建,使用动态库

1. 现在要生成libmydll.so的库文件,头文件如下 #ifndef  _MYDLL_H #define  _MYDLL_H #include "stdio.h" #ifdef WIN32   ...
  • xiaoxiaoyu85
  • xiaoxiaoyu85
  • 2014年01月15日 10:29
  • 4162

linux下制作一个动态库

制作一个动态库 我们可以使用gcc工具来制作一个动态库 示例:自己制作一个动态库,库函数的功能是传递一个字符串并输出。 第一步:需要准备3个文件:hello.h、hello.c、test.c。其...
  • crazy_koala
  • crazy_koala
  • 2017年01月01日 20:59
  • 600

linux下生成静态库和动态库

linux下生成静态库和动态库 一、动态库、静态库简介 库是写好的现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常。本质...
  • Ddreaming
  • Ddreaming
  • 2016年11月09日 22:25
  • 1553

Linux下静态库与动态库(.a、.so)

首先讲一下error while loading shared libraries错误的解決方法 ./tests: error while loading shared libraries: x...
  • dumgeewang
  • dumgeewang
  • 2012年03月28日 15:22
  • 7559
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Linux下动态库的创建与使用
举报原因:
原因补充:

(最多只允许输入30个字)