zoukankan      html  css  js  c++  java
  • VS2008导出dll以及调试

    欢迎加入C++编程群:光影道和  

    一:

    我们首先编译生成我们的dll;

    1.1 文件-->新建-->项目:

    选择 Win3-->Win32控制台应用程序

    1.2 再点确定-->下一步 : 选择DLL , 空项目

    1.3 完成后在本工程中添加Add.cpp文件:

    内容如下:

    extern "C" __declspec(dllexport) int add (int a, int b)
    {
        return a + b;
    }

    然后编译生成dll和lib文件,默认路径是在本工程根目录下第一个Debug文件夹下。

    二:创建一个测试工程,为了测试和调试最方便,我们把直接在解决方案上,单击鼠标右键-->添加-->新建项目

    然后选择 win32-->win32控制台应用程序-->空项目

    然后

    2.2 完了往工程添加一个Test.CPP内容如下

    #include <iostream>
    #include <Windows.h>
    
    using namespace std;
    
    int main()
    {
        char strBuffer[] = "Test_DLL.dll";
        wchar_t dllName[20] = {0};
    
        MultiByteToWideChar(CP_ACP, 0, strBuffer, -1, dllName, 20);
    
        HINSTANCE hInst = ::LoadLibrary(dllName);
        typedef int (*ADDPROC) (int a, int b);
    
        ADDPROC Add = (ADDPROC) GetProcAddress(hInst, "add");
    
        if (hInst)
        {
            cout << Add(3, 5) << endl;
            FreeLibrary(hInst);
        }
        else
        {
            cout << "加载dll失败!" << endl;
        }
    
        return 0;
    }

    2.3 在工程Test右键-->设置为启动项,这样我们就能启动Test来测试我们编译的dll了 ^_^

    2.4 调试运行

    注:当要调试dll中的函数时,就在改函数所在行设置一个断点,然后让程序执行到该行,按F11跟进去就能看到在dll中的执行过程了。。

    。。。

  • 相关阅读:
    Mysql 之 编码问题
    Mysql Basic
    CentOS 之 Sublime text3 安装
    mapper映射
    端口号占用
    2020系统综合实验 第7次实践作业
    2020系统综合实验 第6次实践作业
    解决github打开速度慢问题
    2020系统综合实践 第5次实践作业
    2020系统综合实验 第4次实践作业
  • 原文地址:https://www.cnblogs.com/calm2012/p/3042021.html
Copyright © 2011-2022 走看看