先创建一个动态库dll工程

工程中添加 dlltest.cpp  dlltest.def  dlltest.h

dlltest.h

//dlltest.h
extern __declspec(dllexport) int FuncTest();

dlltest.cpp

//dlltest.cpp
__declspec(dllexport) int FuncTest(int a )
{if (a = 1){return 100;}
}

dlltest.def

LIBRARY  "testmydll"
EXPORTSFuncTest

编译后生成dlltest.dll  dlltest.lib

再新建一个Win32控制台工程用来调用dlltest.dll

将dlltest.dll拷贝到Win32的Debug目录下面

Win32项目中dll.cpp文件如下

#include <iostream>
#include "string"
#include <stdio.h>
#include <windows.h>
using namespace std;int main()
{typedef int (*HFUNC)(int a );HINSTANCE hDLL = LoadLibrary("testmydll.dll");if (hDLL){HFUNC hFun = (HFUNC)GetProcAddress(hDLL,"FuncTest");if (hFun){int a =1;int b = hFun(a);printf("%d\n",b);}}}

编译执行则调用了dlltest.dll 打印出100

如果是调用 dlltest.lib的话,就要将dlltest.lib拷贝到工程目录下(Debug上一级),编译的时候就直接链接了,另外还要把头文件 dlltest.h加到工程中

Win32项目中dll.cpp中的代码如下

#include <iostream>
#include "string"
#include <stdio.h>
#include <windows.h>
#include "dlltest.h"
using namespace std;
#pragma comment(lib,"testmydll.lib")
__declspec(dllimport) int FuncTest(int a );
int main()
{int b = FuncTest(1);printf("%d\n",b);return 0;
}

编译执行打印出100

一个简单的调用动态库的实例相关推荐

  1. linux平台 一个简单的helloworld动态库的制作与使用

    编写一个简单的动态库并调用. 动态库代码: HelloWorld.c /*** 简单动态库文件使用*/ #include "HelloWorld.h"void hello(void ...

  2. qt调用import sys库_QTCreator调用动态库实例

    在 linux 中, qt 里面已经集成了最新的开发平台 QT Creator ,下面是我练习调用动态 库( .so 文件)的例程: 1 .打开 QT Creator ,点击 File -> N ...

  3. Java调用动态库(转载)

    记得以前 Java 要调用C/C++写得动态库都是用的 JNI 方式,还需要自己写不少 C/C++ 代码.比如说要在Java中调用已有的动态库,如 Windows 的 user32.dll 的方法 M ...

  4. 利用JNative实现Java调用动态库

    由于项目要求,需要用Java调用windows的dll文件,查了一下,如果用JNI的话是比较麻烦的,在sourceforge.net上搜索了一下 "Java dll",首先出现的是 ...

  5. 动态调用动态库方法 .so

    2019独角兽企业重金招聘Python工程师标准>>> 关于动态调用动态库方法说明 一.       动态库概述 1.  动态库的概念 日常编程中,常有一些函数不需要进行编译或者可以 ...

  6. Java调用动态库 缺点,Java调用动态库所需要关心的有关问题

    Java调用动态库所需要关心的问题 标签: 无标签 利用JNative实现Java调用动态库(转) http://cctv663.blog.163.com/blog/static/1011921220 ...

  7. CMake从0到1:Linux编译动态库,调用动态库,VSCode单步执行

    工欲善其事必先利其器,如果要想在Linux系统上编写C++代码,常常我们会有如下几个需求: 1.编译可执行文件 2.可执行文件调用动态库,这里通常包括两种情况:(1)自己的动态库,那就得先生成再链接: ...

  8. Node.js使用ffi-napi,ref-array-napi,ref-struct-napi调用动态库

    0x01 概述 使用electron开进行桌面程序的开发,似乎成了WEB前端开发人员转桌面程序开发的首选.近期有一些使用在electron中使用加密锁的需求,学习了一下在Node.js中通过ffi-n ...

  9. linux 调用动态库so文件

    关于动态调用动态库方法说明 一.        动态库概述 1.  动态库的概念 日常编程中,常有一些函数不需要进行编译或者可以在多个文件中使用(如数据库输入/输出操作或屏幕控制等标准任务函数).可以 ...

最新文章

  1. 斯坦福马超:随机梯度下降,也爱躺「平」……why?
  2. C++,那些可爱的小陷阱(一)
  3. vivado中设置多线程编译
  4. QT使用winsocket
  5. 使用getline读入
  6. arcgis双标准纬线等角圆锥投影_世界地图是怎么制作出来的,各投影算法的来历...
  7. 【js拾遗】名称空间
  8. RTP/RTCP中的Jitter
  9. 华中数控hnc一818b_数控车床精确对刀方法总结
  10. php warning: directive,安装Composer PHP Warning: copy(): SSL operation failed with code
  11. maven与ant的区别
  12. openwrt中的mt7621、MAC存储、PPP、UCI、ubus
  13. WIN10系统连接蓝牙音箱,显示已连接但无声音
  14. Android移动端库存管理系统
  15. html新建框架网页,html怎么做网页框架
  16. 楚留香获取服务器信息卡主,楚留香手游沧海主线任务bug原因及解决方法一览
  17. 服务器””上的 MSDTC 不可用。解决办法
  18. java全栈系列之JavaSE-面向对象(异常详解)043
  19. ICCV2021-Soft Teacher-End-to-End Semi-Supervised Object Detection with Soft Teacher
  20. ShardingSphere-ShardingSphere的基本介绍

热门文章

  1. Selenium API-WebElement 属性
  2. 数据库-表记录增删改
  3. linux入门_Linux从入门到入土(抽奖送10本新书)
  4. 前后端分离后的前端时代,使用前端技术能做哪些事?
  5. 如果你对web前端学习感到迷茫的话请看完本文
  6. jquery mysql表格_使用jQuery设计数据表格:设计表格基类
  7. 后端根据百度地图真实路径距离_百度地图开放平台介绍--路线规划
  8. 获得Local IP Address (C++实现)
  9. 图像算法五:【图像小波变换】多分辨率重构、Gabor滤波器、Haar小波
  10. python处理多种编码格式的txt文件