为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

DLL的编写

2011-10-25 2页 doc 25KB 24阅读

用户头像

is_822400

暂无简介

举报
DLL的编写DLL的写法 链接库分为动态链接和静态链接 当用静态链接是 需将链接库的.lib和.dll文件考入需要调用的文件目录下 同时还需在工程的project->setting->link下添加dll.lib引入文件 动态链接库的集中写法_declspec(dllexport) 声明导出 _declspec(dllimport)声明导入 _stacall标准调用 extern “C”C和C++之间调用,可使函数名不改变 如果调用某些函数,可再使用前声明extern fun()或者_declspec(dllimport)fun() 如果...
DLL的编写
DLL的写法 链接库分为动态链接和静态链接 当用静态链接是 需将链接库的.lib和.dll文件考入需要调用的文件目录下 同时还需在工程的project->setting->link下添加dll.lib引入文件 动态链接库的集中写法_declspec(dllexport) 声明导出 _declspec(dllimport)声明导入 _stacall调用 extern “C”C和C++之间调用,可使函数名不改变 如果调用某些函数,可再使用前声明extern fun()或者_declspec(dllimport)fun() 如果不声明,则需要在前面加上#include”..\dll\dll.h”头文件 动态调用 用函数LoadLibrary(“dll2.dll”);返回一个HINSTANCE类型的模块句柄 然后用FARPROC GetProcAddress(hInst, “fun”);来得到需要调用函数的地址 在调用前最好定义一个函数指针,这样用GetProcAddress时,用指针类型的返回值来用该函数:比如int add(int ,int) Typedef int(*Proc)(int ,int); Proc p1=(Proc) GetProcAddress(hInst, “add”); If(!p1) { MessageBox(“获取地址失败”); Return; } //方法如下: float x1,y1,x2,y2,x3,y3;//三个顶点坐标 float len12,len13,len23;//三边长度 float th12,th13,th23; //三个夹角 float th; //旋转角度 //这里请赋初始值,并计算长度和夹角; //假设围绕x1,y1转 for(th=0;th<6.28;th+=0.00314) { x2=x1+len12*cos(th); y2=y1+len12*sin(th); x3=x1+len13*cos(th+th12); x3=y1+len13*sin(th+th12); //按新计算的数据画三角形 } float th; for(th=0;th<6.28;th+=) { Xp=Xc+r*cos(th); Yp=Yc+r*sin(th); dc.MoveTo(Xc,Yc); dc.LineTo(Xp,Yp); } 5度=6.28*(5/360)=0.0872 for(th=0;th<6.28;th+=0.0872 for(d=0;d<360;d+=5) { th=d*(6.28/360); ......... }
/
本文档为【DLL的编写】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索