如何合并DLL到你的EXE程序中

 时间:2024-10-15 01:16:13

1、用 VC++ 生成一个最简单的 Win32 Console Application,调用少量简单的 CRT 函数,因为要独立 EXE,所以使用 /MT,示例代码部分如下,然后 Release 编译看看体积。

如何合并DLL到你的EXE程序中

2、打开最小体积优化开关Project - Property - C/C++ - Optimization 将 Optimization 改为 Minimize Size (/O1),重新编译。现在大小是 40960 字节。可能是示例程序过于简单,所以此开关并没有产生实际的影响,但是在其它有需求的情况下是可以考虑使用它的,在复杂程序中开优化减小体积还是比较明显的,当然也要提防优化带来的问题。

如何合并DLL到你的EXE程序中

3、去掉 CRT 依赖这至少需要处理如下几点:自己指定程序入口点 Project - Property - Linker - Anvance颊俄岿髭d 在 Entry Point 那里填写你的新入口点函数,比如我写的是NewEntry,然后将 main 函数改成这个名字,比如void NewEntry()。自己实现用到的 CRT 函数 上面的程序里用到了strcpy,那么我们就自己来实现它,当然你用跟它相同的名字和声明实现一个函数是通不过编译的,VC 会报错error C2169: 'strcpy' : intrinsic function, cannot be defined,要解决这个问题需要关掉一个开关: Project - Property - C/C++ - Optimization 将 Enable Intrinsic Functions 设为 No。

如何合并DLL到你的EXE程序中

4、加壳压缩使用比如 UPX,ASPack 等加壳工具对可执行程序进行压缩。但是实际发现,在 EXE 文件特别小时,比如像上面已经精简到 3584 字节后,再使用 ASPack 工具压缩会反而令 EXE 文件更大。

如何合并DLL到你的EXE程序中
  • 易语言表格组件提高运行速度
  • WINDOWS2003设置匿名共享的方法访问共享文件夹
  • 新版Navicat,数据传输去哪了?怎么数据传输?
  • 火狐浏览器如何设置在地址栏结果中显示搜索建议
  • 热门搜索
    教师节手抄报内容文字 英语手抄报内容5年级 生命手抄报 科技知识手抄报 书香校园手抄报内容 国庆节手抄报。 我爱读书手抄报的内容 小学生禁毒手抄报 劳动节手抄报图片 关于清明的手抄报内容