黑马程序员技术交流社区

标题: .exe文件和.dll文件 [打印本页]

作者: 张俊双    时间: 2012-10-16 15:48
标题: .exe文件和.dll文件
有什么区别,他们是怎么产生出来的
作者: 曾家伟    时间: 2012-10-16 16:02
exe是可执行文件,双击就可以运行,而dll是动态链接库文件,不能直接双击运行,dll大多数的时候是保存程序exe中调用的函数、资源等额外的东西的。
作者: 潘梦军    时间: 2012-10-16 16:10
.exe是可执行文件,当你双击的时候可以打开的文件。dll是为动态链接库,是一个包含可由多个程序同时使用的代码和数据的库。
作者: 李辰东    时间: 2012-10-17 04:25
dll 存储一些内部函数的一个库,调用的时候是在运行时刻导入这些函数,所以叫动态链接库
也可以导出lib
exe 则是在ms平台上的win32的可执行程序

dll貌似用vs中mfc擴展可以寫

生成的話vs會幫你,至於再深層次的,sorry.....我不懂
作者: 刘俊红    时间: 2012-10-17 14:01
本帖最后由 刘俊红 于 2012-10-17 14:04 编辑

一句话:*.exe 拿来做入口,它可能需要使用其他的*.dll做支撑。反过来就不行。

在.NET里,*.exe 和 *.dll 都是程序集,是程序集不同的输出类型而已(还有另外一种模块类型netmodule)。

两者本质上是相同的,*.exe 是可执行的原因是它比 *.dll 多了个程序入口(C#中是Main()方法)。

除了程序入口外,*.exe 和 *.dll 完全相同,都可以被调用,*.exe 也可以被调用啊,不要以为它不叫类库就不能调用了。

*.exe 可以编译为 *.dll ,而 *.dll 不能被编译为 *exe 。(废话,*.dll 少了入口嘛)。

怎样生成?
方法1:在Visual Studio里设置生成类型,右键项目—>属性—>应用程序—>输出类型。(我看没有module选择。)
方法2:在控制台下,可以用 /t:类型 选项来生成不同的类型。见下图。











欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2