首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用 shell 脚本自动对比两个安装目录并生成差异补丁包

公司各个业务线的安装包小则几十兆、大则几百兆,使用自建的升级系统向全国百万级用户下发新版本时,流量耗费相当惊人。有时新版本仅仅改了几个 dll ,总变更量不过几十 K 而已,也要发布一个完整版本。为了降低流量费用,我们推出了补丁升级的方式:产品组将修改的 dll 单独挑选出来,加上一个配置文件压缩成包,上传到自建的升级后台;在客户端,识别到补丁包类型后,手动解压并替换各个 dll 完成安装(之前是直接启动下载好的安装包)。这种方式一经推出,受到了业务线的追捧。然而在使用过程中,也发现一些问题,就是在修改完一个源文件后,受影响的往往不止一个 dll,如果仅把其中一两个 dll 替换了,没替换的 dll 很可能就会和新的 dll 产生接口不兼容,从而引发崩溃。而有的安装包包含了几十个、上百个 dll,如果一一对比,非常费时费力。特别是一些 dll 仅仅是编译时间不一样,通过普通的文件对比工具,根本无法判断这个 dll  的源码有没有改过,这让开发人员非常头大。

04
您找到你想要的搜索结果了吗?
是的
没有找到

运筹学与最优化理论基础——高精度加减乘除(C++实现)

在写单纯形算法时,发现了高精度分数存在bug与不足,所以必须对相关函数进行修改。主要有bug的函数是string DIVIDE_INT(string str1,string str2,int flag),之前是为了运算简单起见,对于特殊除数与被除数进行特定的判断来减小计算复杂度,但是发现存在逻辑bug,判断这些条件之后,未直接返回结果使得程序仍然会执行正常的除法操作,因此对这个bug进行修正。同时为了方便之后的单纯型算法的编写,在此又特意添加两个函数int Compare2Zero()和int Compare2Fraction(Fraction fraction),分别来比肩与0和分数fraction的大小。 在写两阶段单纯形算法时,发现了高精度分数中缺少相关取反和取倒数等接口导致代码出现大量重复代码。因此再次对高精度分数类进行修改。主要实现了分数取反和分数取倒数,并将整体代码进行了优化。由于两个函数过于简单,因此不对这两个函数进行讲解。

02
领券