win32 c语言编程,win32环境C语言实现最基本的DLL编写及调用实例,测试通过[原]
开发环境是DEV C++,采用C语言编写
创建一个DLL项目,项目名称hello,DLL编写采用的是DEV C++中的示例代码
头文件dll.h
#ifndef _DLL_H_
#define _DLL_H_
#if BUILDING_DLL
# define DLLIMPORT __declspec (dllexport)
#else /* Not BUILDING_DLL */
# define DLLIMPORT __declspec (dllimport)
#endif /* Not BUILDING_DLL */
DLLIMPORT void HelloWorld (void);
#endif /* _DLL_H_ */
C文件
dllmain.c
#include
#include
DLLIMPORT void HelloWorld ()
{
MessageBox (0, "Hello World from DLL!\n", "Hi", MB_ICONINFORMATION);
}
BOOL APIENTRY DllMain (HINSTANCE hInst /* Library instance handle. */ ,
DWORD reason /* Reason this function is being called. */ ,
LPVOID reserved /* Not used. */ )
{
switch (reason)
{
case DLL_PROCESS_ATTACH:
break;
case DLL_PROCESS_DETACH:
break;
case DLL_THREAD_ATTACH:
break;
case DLL_THREAD_DETACH:
break;
}
/* Returns TRUE on success, FALSE on failure */
return TRUE;
}
还有要注意的在.def文件中指定输出的函数,编译生成了hello.dll文件
DLL调用部分
dllcall.c
#include
#include
#include
HINSTANCE hDLL; //定义DLL包柄
typedef void ( *func)(); //定义函数指针原型
func hello; //定义函数指针
int main()
{
if (hDLL == NULL)
hDLL=LoadLibrary("hello.dll"); //加载DLL
hello = (func)GetProcAddress(hDLL,"HelloWorld"); //获取函数指针
hello();
FreeLibrary(hDLL); //释放DLL
return 0;
}
编译执行
win32 c语言编程,win32环境C语言实现最基本的DLL编写及调用实例,测试通过[原]相关推荐
- 罗定c语言,罗定学c语言编程,罗定学c语言编程培训,罗定学c语言编程一般怎么收费...
罗定学c语言编程,罗定学c语言编程培训,罗定学c语言编程一般怎么收费 首页 > 软件 > 罗定学c语言编程 作者:镀金池 发布时间:2018-10-04 23:40 依照c语言的法则, ...
- c语言编程模拟选举,C语言编程题精选
C语言编程题精选 C语言编程题精选 1. 编程实现对键盘输入的英文名句子进行加密.用加密方法为,当内容为英文字母时其在26字母中的其后三个字母代替该字母,若为其它字符时不变. 2. 编程实现将任意的十 ...
- 成都c语言编程培训机构,成都学c语言编程,成都学c语言编程去哪里,成都学c语言编程需要报培训班吗...
成都学c语言编程,成都学c语言编程去哪里,成都学c语言编程需要报培训班吗 首页 > 软件 > 成都学c语言编程 作者:镀金池 发布时间:2018-09-28 14:20 近似带有序布局 ...
- c语言编程技巧分析,C语言难点及编程技巧分析
摘要:近些年信息技术发展迅速,社会需要大量专业的计算机人才,C语言是学习计算机知识的专业理论课程,能够为以后的学习打下专业基础.但目前C语言学习受到各方面因素的影响,学习效果不是很理想,很多时候即使努 ...
- 单片机c语言编程下载,单片机C语言编程.doc
单片机C语言编程.doc 单片机C语言编程指令格式 功能简述 字节数 周期 一.数据传送类指令 MOV A, Rn 寄存器送累加器 1 1 MOV Rn,A 累加器送寄存器 1 1 MOV A ,Ri ...
- c语言编程课程心得,c语言编程课程设计心得.docx
C语言编程课程设计心得 C语言编程课程设计心得 河南城建学院 <C语言程序设计>课程设计报告 适用专业工程管理专业课程名称C语言程序设计指导教师赵军民.魏新红.张芳芳 设计人:051409 ...
- c语言编程宝典pdf,C语言编程宝典之一.pdf
C语言编程宝典之一 作者:王大刚 本人的<FOXPRO编程宝典之一>,<FOXPRO编程宝典之二>和<FOXPRO 编程宝典之三>系列软件在<电脑报>配 ...
- c语言编程基础心得,C语言编程学习心得体会
C语言是在国内外广泛使用的一种计算机语言.其语言功能丰富.表达能力强.使用灵活方便.既具有高级语言的优点,又具有低级语言的许多特点,适合编写系统软件.本文是C语言编程学习心得,希望对大家有帮助. C语 ...
- c语言编程培训ppt,C语言入门经典-C语言编程.ppt
<C语言入门经典-C语言编程.ppt>由会员分享,可在线阅读,更多相关<C语言入门经典-C语言编程.ppt(27页珍藏版)>请在人人文库网上搜索. 1.第01章 C语言编程,C ...
最新文章
- R语言使用ggplot2包使用geom_boxplot函数绘制基础分组箱图(配置数据点抖动显示jitter)实战
- cs怎么加电脑人_怎么给电脑文件夹加密码?
- 设计模式之单例模式学习笔记
- java ArrayList 套数组,二维不等长数组
- Linux Kernel中断下半部分实现的三种方式
- linux中查找某一个字符串,linux下查找包含某个字符串的文件
- 3 View - 状态保持 session
- 7. Android Basic UI的布局 WidgetDemo基本组件演示
- Java项目课程04:需求分析
- EMS批量为用户分配邮箱
- java版selenium_Selenium3.0-Java版(共61节)
- 数字ab写成c语言表达式,《c语言程序设计》复习题.pdf
- 七言 感大兴安岭大火
- 软件测试报告费计什么科目,软件记什么会计科目
- 景联文科技为自动驾驶DMS系统提供数据采集标注服务
- Cloudera Manager 配置
- 怎么查询逆水寒服务器角色信息,逆水寒服务器状态
- 利用ARP的攻击与欺骗实现网络监控和管理(长角牛监控机)
- CSGO地图制作常见问题
- ef 使用left join的两种写法
热门文章
- JAVA面试要点004_JAVA编程过程中为了性能优化_应该注意到的地方
- Linux c实现一个tcp文件服务器和客户端
- C语言正函数nosign,Function declarations(函数声明)
- mobaxterm下载与使用mobaxterm远程登录Linux
- mysql 5.7.11 x64_mysql 5.7.11 winx64安装配置教程
- vs 如何将源文件转换成可执行文件_如何将图片文件转换成PDF文件?
- linux java xmx_linux应用实际内存大于 jvm xmx
- css 类别选择器 并集,CSS常用选择器
- mysql 事件 函数_MySQL 自定义函数和存储过程的使用
- 解压大于4g的文件_U盘容量还很大,拷贝时提示“文件太大”无法传输!