zoukankan      html  css  js  c++  java
  • C++ 调用C++写的函数库的2种方法之一(显式调用)

    一:创建C++ DLL类库,名称:Dll1

    1.Dll.h

    _declspec(dllimport) int add(int a, int b);
    

      

      2.Dll.cpp

    // Dll.cpp : 定义 DLL 应用程序的导出函数。
    //
    
    #include "stdafx.h"
    
    #include<iostream>
    
    
    
    //#include"Dll.h"
    using namespace std;
    
    extern "C" _declspec(dllexport) int add(int a, int b)
    {
       
         return (a+b);
    
    }
    

      

    二:C++启动项目win32项目,名称:DynamicLoadDll

    1.DynamicLoadDll.h

       空白,没有写内容

    2.DynamicLoadDll.cpp

    // DynamicLoadDll.cpp : 定义控制台应用程序的入口点。
    //
    
    #include "stdafx.h"
    #include "windows.h"
    #include <iostream>
    using namespace std;
    
    
    int _tmain(int argc, _TCHAR* argv[])
    {
    	HINSTANCE hInst;
    	hInst=LoadLibrary("Dll.dll");
    	typedef int (*ADDPROC)(int a,int b);
    	ADDPROC Add=(ADDPROC)GetProcAddress(hInst,"add");
    	//ADDPROC Add=(ADDPROC)0x00011078;
    	cout<<Add(5,4)<<endl;
    	return 0;
    }
    

      

    三:配置

         1.想将dll文件copy到启动项目的debug中去。

         2。按照下图中的红框来设置。我不明白我的为什么要在这里加引用,如果不加,它就会报错,解析不了,网上的都没有加,所以在这里碰到了很多的挫折。

    3. 结果

         在dos命令窗口出现5+4的结果 9

  • 相关阅读:
    andorid jar/库源码解析之Butterknife
    JavaScript DOM 鼠标拖拽
    JavaScript JSON 与 AJAX
    JavaScript DOM 事件模型
    JavaScript DOM 样式操作
    JavaScript DOM 常用尺寸
    JavaScript 日期与计时器
    JavaScript DOM 基础
    JavaScript 数组
    JavaScript 对象拷贝
  • 原文地址:https://www.cnblogs.com/nanyangzp/p/3428474.html
Copyright © 2011-2022 走看看