DLL和EXE的区别是什么呢?

misa98 2016-09-09 01:41:49

程序中不用DLL不行吗?
实际上完全可以,用EXE完全可以编写一个完整的应用程序!

为什么那么多同学都喜欢用DLL编程呢?
...全文
529 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
misa98 2016-09-09
  • 打赏
  • 举报
回复
DLL和封装根本没关系,Windows的很多东西都是封装的! DLL的出现主要是为了程序的模块化
allenjiao 2016-09-09
  • 打赏
  • 举报
回复
mark
「已注销」 2016-09-09
  • 打赏
  • 举报
回复
DLL 里就是一堆可以供你拿来用的函数,但是你并不一定能看到代码。
「已注销」 2016-09-09
  • 打赏
  • 举报
回复
EXE -- 程序入口函数+其他函数 DLL -- 其他函数 相同点,都是二进制代码,以及导出函数等。 但是,程序执行,总得有个入口吧,而且这个入口只能有一个,那就是 exe。 至于为什么要用 DLL,有两种情况: 一、别人提供的功能,包括操作系统提供的功能,都是不开放的,甚至也不提供静态库。因为静态库被直接编译到 exe 中,看不到任何你使用了别人组件的痕迹。而 DLL 则通常只能以独立文件 (当然,技术上实现从内存加载 DLL 并调用函数也不是办不到) 的形式存在于 exe 同目录 (或者 system32 等系统默认加载 DLL 的路径),这样就能让别人一眼看到你使用了第三方组件。 二、某些函数被多个模块使用,因此独立出 DLL 方便扩展。虽然说程序编译为一个独立 exe 时,这些被同一个 exe 的多个模块使用的程序代码也只存在一份,甚至这些公共函数也不怎么维护的,都是直接拿来调用。这种由一个 exe 完成所有功能的程序很难维护。而且,现在的软件安装目录都不是只有一个 exe,可能有些 DLL 是多个 exe 公用的,这样可以减小体积。
worldy 2016-09-09
  • 打赏
  • 举报
回复
水无常势,随心所欲,怎么方便怎么用
赵4老师 2016-09-09
  • 打赏
  • 举报
回复
《Windows PE权威指南》
OnTheWay_Boy 2016-09-09
  • 打赏
  • 举报
回复
mark 启动项与支持项?
  • 打赏
  • 举报
回复
1 共享资源 2 跨语言操作
三岁、就很帅 2016-09-09
  • 打赏
  • 举报
回复
1.维护和更新方便,资源共享 2.封装常用api或代码,接口等,避免多次重复写同样的代码 3.用于底层操作 4.节省内存 5.安全性比exe高很多
Dobzhansky 2016-09-09
  • 打赏
  • 举报
回复
这个问题好难啊

16,467

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧