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

 时间:2024-09-20 13:58:10

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

方法/步骤

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

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

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

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

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

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

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

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

易语言表格组件提高运行速度 WINDOWS2003设置匿名共享的方法访问共享文件夹 新版Navicat,数据传输去哪了?怎么数据传输? 火狐浏览器如何设置在地址栏结果中显示搜索建议
热门搜索
姜子牙电影 小女孩发型图片大全 企业文化宣传图片 日本理论日本电影 图片 搜索