2024年3月13日发(作者:)
7zip源码研究
(一)
1 开篇缘由
2012年6月4日,上证指数大跌64.89,巧合。
在离开VC++开发一线N年后,因故需重捡武装。下载安装了Visual Studio 2010旗舰版。
回想当年告别VC++时,尚是VC6…
考虑要重温杀伐旧梦,需有一套合适的代码磨刀。一搜,开源的7zip进入视野。一并
搜了7zip源码资料,中文的实话说未见什么实质性的东西。故开篇写这个笔记,记录自己
摸索的相关情况,对以后也是借鉴。
2 源码下载
7zip的官网:/。当前最新版本9.22b。官网上9.20
是正式版,9.22是beta版。既然是磨刀,beta也无所谓。9.22b的源代码包2;
另有一个7zip的SDK开发包源码2,也一并下了。同时把9.22b安装版也下来
安装了,以便验证编译结果和发布版差异。
3 编译起步
经尝试,带.dsw项目文档的各源码目录,均可打开并编译成功。只是对每个打开的项
目文件需注意修改若干参数(菜单“项目”->“属性”)。自然,对于熟练的VC++程序员,
这些环境参数调整是常识;但对于久疏战阵的本人,还是有必要记录一下相关调整。
相关参数之所以要调整,原因无非是源码发布方在自己的开发环境中有自己的调试安排,
文件放置路径等多少与我们希望的有所差异。另外,发布方用的编译开发环境与我现在要用
VS2010显然也未必相同,故调整比较自然。
需调整的参数包括:
1. 配置属性->常规,“输出目录”、“中间目录”,建议都改成“.Debug”;
2. 查看“链接器->常规”,“输出文件”建议保留文件名,但目录同样改为“.Debug”;
3. 配置属性->常规,“目标文件名”建议改成与“链接器->常规”中“输出文件”相
1 / 6
同;
4. 清单工具->输入和输出,“嵌入清单”改成“否”。当“是”时,因原代码编译环境
较低,在VC2010中编译链接时会出“fatal error LNK1123”。修改该参数后问题解决。
此问题
4 文件了解
整个7zip源码包括较多目录。不少目录下都是.dsw项目文件。故,有必要进一步了解
各个.dsw项目的作用,以掌握整个7zip源码包外部构成。
以下理清思路,一步步从外部开始整个分析过程。
2 / 6


发布评论