DLL 导入类

原创 2015年07月09日 17:14:29

将LIB文件复制到testB文件夹里(textB与Debug和Release文件夹平级)

将DLL文件复制到Debug文件夹里(不复制编译能通过但不能运行)

头文件也复制到 lib 所在的文件夹下


空白win32 DLL工程中 新建CPP 和H

.h

#ifndef __JISUAN_0709B__  
#define __JISUAN_0709B__ _declspec(dllimport)  
#endif  

//#include <afxwin.h>
#include <Windows.h>	//这样win32 DLL工程也能用WINAPI
#include <stdio.h>

class __JISUAN_0709B__  student
{
public:
	void output(int x,int y);
};
.cpp

#define __JISUAN_0709B__ _declspec(dllexport)

#include "jisuan0709B.h"

void student::output(int x,int y)
{
	//返回调用者进程当前正在使用的那个窗口的句柄
	HWND hwnd=::GetForegroundWindow();
	//获取DC
	HDC hdc=::GetDC(hwnd);

	char buf[20];
	::memset(buf,0,20);
	::sprintf_s(buf,"x=%d,y=%d",x,y);

	//输出坐标
	::TextOutA(hdc,0,0,buf,strlen(buf));
	//释放DC
	::ReleaseDC(hwnd,hdc);
}
编译 生成lib  dll 还有.h 复制到测试程序相应的位置

在测试工程中

stdafx.h

#pragma comment (lib,"0709B.lib")  
#include "jisuan0709B.h"	//新加的  

dlg.cpp中

void Ctest0709BDlg::OnBnClickedButton1()
{
	// TODO: Add your control notification handler code here
	student A;<span style="white-space:pre">	</span>//使用从DLL 导入的类
	A.output(123,456);
}



风行者引领群雄者行风

C# 导入dll时CallingConvention的设置问题

转载自:http://www.xuebuyuan.com/645807.html #调用非托管的.dll文件方法如下: [DllImport("XORDll.dll", ...

vs2012中导入msado15.dll的过程中出现的问题若干

#import "C:\\Program Files\\Common Files\\System\\ado\\msado15.dll" no_namespace rename("EOF","EndOf...

Java_ABC_9.Java中导入dll文件

1. C++生成DLL文件      1.1创建工程             打开VC++编译器,然后选择Win32 Project ,然后选择工程位置和工程名称,然后点击下一步,再点击下一步 ...

C#导入Excel2010出现加载DLL失败或者类库未注册的问题,0x8002801D或者0x80029C4A

最近在客户机器上出现了无法导出报表的问题,错误提示为: System.InvalidCastException: Unable to cast COM object of type 'Microso...

DLL编程的导入导出,__declspec(dllimport),__declspec(dllexport)

在Windows DLL编程时,可使用__declspec(dllimport)关键字导入函数或者变量。   __declspec(dllimport),函数的导入   当你需要使用D...

dll导入和导出变量或函数

从 DLL 导出   .DLL 文件的布局与 .exe 文件非常相似,但有一个重要的差异:DLL 文件包含导出表。导出表包含 DLL 导出到其他可执行文件的每个函数的名称。这些函数是 DLL 中的入口...

静态链接库lib, 动态链接库dll,导入库lib的区别

动态链接库有两种两用方式,分别是动态调用.dll和静态调用导入库.lib,那么动态链接库的静态调用方式与静态链接库调用有什么区别?带着这个问题,查找到以下资料。(问题的答案已用褐色标出) (下述...

动态链接库dll,静态链接库lib, 导入库lib

目前以lib后缀的库有两种,一种为静态链接库(Static Libary,以下简称“静态库”),另一种为动态连接库(DLL,以下简称“动态库”)的导入库(Import Libary,以下简称“导入库”...

DLL库的编写(导出、导入)与使用

DLL库的编写(导出、导入)与使用 相关说明: (1) 编写dll时,为什么用 extern “C”: 因为C和C++的重命名规则是不一样的。这种重命名称为“Name-Mangling”。据说,...

dll生成对应的导入库lib

需要的工具:两个命令行工具,一个是dumpbin.exe,另一个是lib.exe(我的vs2008,在D:\Programe Files\Microsoft Visual Studio 9.0\VC\...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:DLL 导入类
举报原因:
原因补充:

(最多只允许输入30个字)