C#调用动态链接库DLL
来源:互联网 发布:舰娘本子 知乎 编辑:程序博客网 时间:2024/05/17 22:20
1.概述
动态链接库(Dynamic Linked Library):将写好的函数存在库中,以供其他程序开发调用,调用方式为“动态的”。
Windows为应用程序提供了丰富的函数调用,这些函数调用都包含在动态链接库中。其中有3个最重要的DLL,Kernel32.dll,它包含用于管理内存、进程和线程的各个函数;
User32.dll,它包含用于执行用户界面任务(如窗口的创建和消息的传送)的各个函数;GDI32.dll,它包含用于画图和显示文本的各个函数。
静态库(Static Library):函数和数据被编译进一个二进制文件(通常扩展名为.LIB)。在使用静态库的情况下,在编译链接可执行文件时,链接器从库中复制这些函数和数据并把它们和应用程序的其它模块
组合起来创建最终的可执行文件(.EXE文件)。
2.动态库与静态库的区别
动态库DLL:在编译链接可执行文件时,只需要链接引入库,DLL中的函数代码和数据并不复制到可执行文件中,在运行的时候,再去加载DLL,访问DLL中导出的函数。
静态库LIB:编译时候与程序打包在一起,需要运行多个静态库函数时候,无法共享,会多次装载,浪费内存空间。
简单的说,静态库和应用程序编译在一起,在任何情况下都能运行,而动态库是动态链接,顾名思义就是在应用程序启动的时候才会链接,所以,当用户的系统上没有该动态库时,应用程序就会运行失败。再看它们的特点:
动态库:
1.共享:多个应用程序可以使用同一个动态库,启动多个应用程序的时候,只需要将动态库加载到内存一次即可;
2.开发模块好:要求设计者对功能划分的比较好。
3.动态库与静态库的使用
动态库使用:
[DllImport("kernel32.dll")]//放在类中,后面紧跟着一个对应的函数public static extern bool Beep(int frequency, int duration);private void BeepSkinBtn_Click(object sender, EventArgs e){ Beep(1000,1000);//蜂鸣器响}
阅读全文
0 0
- C#调用C++动态链接库(dll)
- C#调用C++动态链接库dll
- C#调用C++ 动态链接库DLL
- C#调用动态链接库DLL
- C#创建和调用DLL动态链接库
- C#中如何调用动态链接库DLL(转)
- C#中如何调用动态链接库DLL
- C#中如何调用动态链接库DLL(转)
- C#中如何调用动态链接库DLL[转]
- C#调用C/C++ 动态链接库DLL(一)
- C#调用C/C++ 动态链接库DLL(二)
- C#调用C/C++ 动态链接库DLL(三)
- C#中如何调用动态链接库DLL
- C#调用c++的标准动态链接库dll
- C#调用C++编写的动态链接库dll文件
- C#调用C/C++动态链接库(.dll)详解
- C#中如何调用动态链接库DLL
- C#调用matlab写的动态链接库(dll)
- Bootstrap表格分页
- Android 声音调试
- c基础知识
- 程序员生活文章记录
- myeclipse设置远程debug(windows)
- C#调用动态链接库DLL
- 机器学习入门:线性回归及梯度下降
- 销售科目确认相关配置
- 关于高速光耦6N137的使用总结
- 关于C中字符/字符串输入函数的讨论
- 羽毛币(FTC)挖矿教程
- SONY IMX230 MTK 驱动升级(含PDAF)
- 平稳时间序列预测
- 测试如何快速了解一个产品、需求、任务(海盗派测试分析,KYM)