zoukankan      html  css  js  c++  java
  • visual studio2019下动态链接库的制作

    打开visual studio2019创建动态链接库项目,项目名称为20199324dll

    然后定义宏:在头文件中定义即可,宏的作用的是允许该函数能够被外部访问,并直接调用。代码如下:

    // pch.h: 这是预编译标头文件。
    // 下方列出的文件仅编译一次,提高了将来生成的生成性能。
    // 这还将影响 IntelliSense 性能,包括代码完成和许多代码浏览功能。
    // 但是,如果此处列出的文件中的任何一个在生成之间有更新,它们全部都将被重新编译。
    // 请勿在此处添加要频繁更新的文件,这将使得性能优势无效。
    
    #ifndef PCH_H
    #define PCH_H
    
    // 添加要在此处预编译的标头
    #include "framework.h"
    
    #endif //PCH_H
    
    
    //定义宏
    
    #ifdef IMPORT_DLL
    
    #else
    #define IMPORT_DLL extern "C" _declspec(dllimport) //指的是允许将其给外部调用
    #endif
    
    IMPORT_DLL int add(int a, int b);
    IMPORT_DLL int minus(int a, int b);
    IMPORT_DLL int multiply(int a, int b);
    IMPORT_DLL double divide(int a, int b);
    

    然后在pch.cpp文件中实现这些即可,代码如下:

    // pch.cpp: 与预编译标头对应的源文件
    
    #include "pch.h"
    
    // 当使用预编译的头时,需要使用此源文件,编译才能成功。
    
    int add(int a, int b)
    {
    	return a + b;
    }
    
    int minus(int a, int b)
    {
    	return a - b;
    }
    
    int multiply(int a, int b)
    {
    	return a * b;
    }
    
    double divide(int a, int b)
    {
    	double m = (double)a / b;
    	return m;
    }
    

    接下来是点击生成,会在debug目录下生成20199324dll.dll文件(这就是我们所需要的)

    然后新建一个控制台程序,用于测试是否成功调用dll,命名为20199324dlltest

    引入windows.h(必须);在main函数写下列语句调用dll,代码如下:

    // 20199324dlltest.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
    
    #include <iostream>
    #include<windows.h>
    
    int main()
    {
    	HINSTANCE hDllInst;
    	hDllInst = LoadLibrary(L"20199324dll.dll"); //调用 DLL	
    	typedef int(*PLUSFUNC)(int a, int b); //后边为参数,前面为返回值	
    	PLUSFUNC plus_str = (PLUSFUNC)GetProcAddress(hDllInst, "add");//GetProcAddress为获取该函数的地址	
    	std::cout << plus_str(93,24);
    }
    

    注意:需要把之前生成的dll文件,复制到控制台程序的debug目录下!

    点击本地Windows调试器:

    参考资料:https://blog.csdn.net/Giser_D/article/details/89677441

  • 相关阅读:
    小程序,计算一个字符串中每个字符出现的次数
    打印好看的整齐的清单
    输入符号,宽,高,打印此符号组成的矩形
    输入名字显示其生日,没有则让输入生日,做记录
    51ll网产品信息保存为txt文件
    .py文件 改成默认用idle打开
    协程原理代码演示
    python: ImportError: cannot import name 'Style' from 'openpyxl.styles' 解决方法
    python编程快速上手第7章习题20
    HDU 1010 Tempter of the Bone
  • 原文地址:https://www.cnblogs.com/yangdd/p/11876608.html
Copyright © 2011-2022 走看看