dll库生成和使用

抄自http://www.cnblogs.com/fangyukuan/archive/2010/06/20/1761464.html

1. VS2010中新建Win32-Win32项目,输入名称DllDemo

2. 选择DLL,点击完成

3. 在DllDemo.cpp中加入:

// DllDemo.cpp : 定义 DLL 应用程序的导出函数。
//

#include "stdafx.h"

//使用关键字_declspec(dllexport)来声明外部引用的函数
extern "C" __declspec(dllexport) void SayHello(const char * string)
{
    ::MessageBox(NULL, string, "提示", MB_OK);
}

4. 生成解决方案

第二步,使用这个Dll库。新建控制台程序TestDll。

在TestDll.cpp中输入:

//#include "stdafx.h"
#include <windows.h>
#include <iostream>
using namespace std;

//定义函数指针
typedef void (*SAYHELLO)(const char *);

int main()
{
    HINSTANCE hDll;

    //装载dll库
    hDll = LoadLibrary(L"DllDemo.dll");
    if (NULL == hDll){
        cout<<"加载dll失败!\n";
    }else{
        // 从dll中获取函数的入口地址
        SAYHELLO lpproc = (SAYHELLO)GetProcAddress(hDll, "SayHello");
        if (NULL != lpproc){
            //调用dll中的函数
            (*lpproc)("优衣库");
        }
        // 卸载库
        FreeLibrary(hDll);
    }
    return 0;
}

点击生成解决方案,再点击运行,运行结果如图:

(完)

时间: 2024-08-01 15:31:04

dll库生成和使用的相关文章

c# 使用ZXing.dll库生成二维码

最近工作中有需要一个需求,就是把一个服务地址生成二维码,可以用来扫码分享,网上找了下方法也比较多,我这里po一下调用ZXing.dll库生成二维码的方法吧.先简单介绍一下 ZXing库,ZXing库是一个开源Java类库,可用于生成和解析多种格式的1D/2D条形码:zxing遵循Apache License 2.0,只是工具而已,是不收费哒. ZXing库的下载地址:http://zxingnet.codeplex.com/ 点击下载,下载后解压压缩包: 把Zxing加到工程应用中,以下为核心代

使用FireBreath生成的.dll库出现“*.dll模块加载失败”

好不容易可以再FireBreath里面使用sip库eXosip. 在本地使用没有问题,但是在别的机子上面安装.dll库的时候就出现了问题: 我猜想,可能是和我加入的库有关系,之前没有加入其它的库的时候,是成功的. 于是,我把eXosip的里面2个动态库放进来,奇迹出现了 Windows下面对静态库和动态库的使用还不是很清楚...

vc下DLL项目设置dll和lib库输出路径以及使用lib/dll库时的包含路径

include 头文件包含路径设置: project->setting->C/C++->常规: Additional include directories(附加包含目录): ../../include等等 链接文件输出目录:    project->setting->配置属性->常规:输出目录 例如:输出目录:$(SolutionDir)Temp\Link\$(ProjectName)\$(ConfigurationName) 解释:项目目录-Temp-Link-工程

Visual Studio 进行Excel相关开发,Microsoft.Office.Interop.Excel.dll库

1. Interop.Excel.dll 的查找 本文中将 Microsoft.Office.Interop.Excel.dll库简称为Interop.Excel.dll库 其实在使用Visual Studio进行Office的Excel开发时,Microsoft.Office.Interop.Excel.dll 可以在类似于下面的目录中找到.并不需要再在网上下载了. E:\Program Files\Microsoft Visual Studio 11.0\Visual Studio Tool

windows编程,加载dll库示例

生成dll库 #include<Windows.h> //导出函数,可以加载的时候调用 _declspec(dllexport) void msg() { MessageBoxA(0, "1", "2", 0); } //导出函数,可以加载的时候调用 _declspec(dllexport) int add(int a, int b) { return a + b; } 调用dll库 #include<Windows.h> #include&

更新小红伞antivirus失败:生成更新结构失败。更新库生成错误 556

http://blog.csdn.net/pipisorry/article/details/45721521 更新小红伞antivirus失败 生成更新结构失败.更新库生成错误 556 15:14:34 [UPDLIB] [ERROR]   文件 C:\ProgramData\Avira\AntiVir Desktop\TEMP\UPDATE\antivirus\15.0.9.504\win\zh-cn\libeay32.dll.gz 的 MD5 与 info 文件中指定的 MD5 不同 15

vc dll的生成和使用

这两天做了打印机的上位机驱动,要生成DLL,了解了这方面的东东,记录下简单. 因为要在wince平台上使用,接口不能用MFC类,所以费劲的转换成了非MFC,也就使用Non-MFC Dlls DLL的生成: *.h #ifndef __PRINTERCONTROL_H__ #define __PRINTERCONTROL_H__ int __declspec(dllexport)PrintDC(void *p); #endif 因为要静态调用需要*.lib 所以还要生成.def文件,直接创建即可,

使用python调用zxing库生成二维码图片

(1)     安装Jpype 用python调用jar包须要安装jpype扩展,在Ubuntu上能够直接使用apt-get安装jpype扩展 $ sudo apt-get install python-jpype 关于使用Jpype调用jar包的方式.请看http://blog.csdn.net/niuyisheng/article/details/9002926 (2)     得到zxing  jar包 使用zxing第三方库生成二维码图片,关于zxing的介绍能够看其github地址:h

Linux静态库生成指南

Linux静态库生成指南 Linux上的静态库,其实是目标文件的归档文件.在Linux上创建静态库的步骤如下: 写源文件,通过 gcc -c xxx.c 生成目标文件. 用 ar 归档目标文件,生成静态库. 配合静态库,写一个使用静态库中函数的头文件. 使用静态库时,在源码中包含对应的头文件,链接时记得链接自己的库. 下面通过实例具体讲解. 写源文件,生成目标文件. 第一个源文件 my_print.c #include <stdio.h> void cout(const char * mess