动态库生成与使用

目录

创建主工程:

创建动态库工程:

主工程使用动态库


库一般分为两种:静态库(.a 、.lib)动态库(.so 、.dll )所谓静态、动态是指链接过程。 

动态链接的基本思想:把程序按照模块拆分成各个相对独立的部分,在程序运行时才将它们链接在一起形成一个完整的程序,而不同于静态链接把所有的程序模块都链接成一个单独的可执行文件。本篇介绍win下动态库的生成和使用。

我们统一Debug模式下的x64,

创建主工程:

1.新建 >> win32 >> 空项目即可,eg:MainPro工程

创建动态库工程:

1.添加 >> win32 >> 应用程序类型选择DLL,并附加选项空项目,eg:HelpPro工程

2.HelpPro工程中添加c++类,并使用DLL导出的符号,__declspec(dllexport)

#pragma once

class __declspec(dllexport) HelpDll
{
public:
    HelpDll();
    ~HelpDll();
};

extern "C" __declspec(dllexport) void cFunction(float value);
#include "HelpDll.h"
#include <iostream>

HelpDll::HelpDll()
{
    std::cout << "new helpdll" << std::endl;
}


HelpDll::~HelpDll()
{
    std::cout << "del helpdll" << std::endl;
}

void cFunction(float value)
{
    std::cout << "cFun arg " <<  value << std::endl;
}

3.生成即可

4.检测,在......\solution\x64\Debug下,Help.lib,Help.dll......,这样我们的动态库生成完成。

主工程使用动态库

1.属性配置,包含目录,库目录,库

2.使用

#include "../Help/HelpDll.h"

int main()
{
    HelpDll dll;
    cFunction(0.23f);
    while (true) {
    }
    return 0;
}

3.编译,测试ok

通过上述操作,基本可以实现动态库的生成和使用。实际中由于没有统一平台模式,出现其他错误,因此再次提醒2点,1:统一Debug模式下的x64,2:属性配置3点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值