dll,全称是Dynamic Link Libaray,即动态链接库,将程序运行所需要的类或方法的实现放在dll中,这样当可执行文件(即.exe文件)需要使用相关的类、方法时从dll中动态地获取,节省了可执行文件在编译、执行时花费的时间。dll比静态库更方便的是不用重新编译全部的.exe文件,只需修改相应的dll的源程序就可以实现功能上的修改。
在C#中,如果新建的工程类型是“Windows窗体应用程序”或“控制台应用程序”那么编译生成的就是.exe文件,如果新建的工程类型是“类库”,那么编译生成的是dll文件,一般在设计中,采用两种方法相结合的方式,即在一个Solution中既有.exe项目也有.dll项目,将所有的类、接口的实现都放在类库中,.exe的源代码里只放Main函数和功能入口。
类库生成的是dll
控制台 windows程序都是exe的
exe:就执行文件
dll:是类库
dll 是动态链接库,就是说dll里包含了翻译后的一些程序中要调用的方法。但dll文件不可以执行,只允许被调用。
exe是可执行文件,一般做为程序的执行入口。
dll 和 exe 的生成:翻译器会对你开发的应用程序中所用到的类库生成成dll文件,而且exe则取决于你编写的程序,如果你编写的客户端程序,需要用户安装,那么这种情况下要生成exe供用户执行安装操作。
贴主给你讲一个比喻吧……
exe 它可以自动装入内存,让计算机来执行它的代码。dll没这样的功能,需要别的程序来唤醒它,平时不用的时候它就静静地躺在硬盘里,exe不一样,它有跟cpu打交道的能力,它可以让cpu理解自己,dll只能让别的程序来翻译它,才能让cpu理解它。