您的位置:首页 > 编程语言 > C语言/C++

c++调用dll或者lib导出的类

2013-02-05 14:59 399 查看
一、创建静态的lib或者动态的dll

1、头文件:data.h

class _declspec(dllexport) DATA

{

public:

int get();

void set(int data);

private:

int m_data;

};

2、源文件:data.cpp

#include "data.h"

inline int DATA::get()

{

return m_data;

};

inline void DATA::set(int data)

{

m_data = data;

};

若是创建静态lib,则最后有用的是data.lib;若是创建动态的dll,则最后有用的是data.dll和data.lib

二、调用dll或者lib的主程序(与函数不同的是,必须是包含头文件的方式,而不能用class _declspec(dllimport) DATA;)

#include "data.h"

#include <iostream>

using namespace std;

#pragma comment(lib,".\\debug\\DATA.lib")

int main()

{

DATA data;

int nData;

data.set(10);

nData = data.get();

cout<<nData<<endl;

getchar();

return 0;

}

调用lib则需要把data.lib放在.\\debug\\DATA.lib下,代码有变动需要重新编译主程序;若是调用的dll,则需要把link的lib放到.\\debug\\DATA.lib下,还需要把data.dll放到与exe同样的目录下,dll的代码有变动,若只是类的函数体变动,而接口没有变动,则不需要编译主程序,只需要替换data.dll供主程序调用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: