摘要:
xcodebuild -workspace ${SOLUTION_NANE} -scheme ${SCHEME_NAME} -configuration ${BUILD_CONFIRUATION} example: xcodebuild -workspace Test -scheme transla 阅读全文
摘要:
在VS项目中通过GIT生成版本号作为编译版本号 首先获取git版本信息 :: git rev-parse --abbrev-ref HEAD 获取当前分支名称 for /f %%i in ('git rev-parse --abbrev-ref HEAD') do (set BRANCH=%%i) 阅读全文
摘要:
有时候我们想要编写打包脚本,但是如何编译vs解决方案呢,其实vs已经给我们提供了一个命令行工具 devenv.exe ,以vs2019为例 它在Common7\IDE\下 构建 Devenv.exe <解决方案的路径> /build [/project ProjName [/projectconfi 阅读全文
摘要:
第一种2的幂取模优化 若被除数是正数,只需取低k位的值即可。 eg. 若k取3,则除数为8,被除数为9,则模数为9的低3位,001(2) 可以这样做的原因是第k+1位的值等于2k,也就是说大于等于k+1位的值都大于$2^k$,他们的取值不影响余数 余数的取值范围为 \([0,2^k-1]\) 若被除 阅读全文
摘要:
除数为无符号2的幂 快速识别 x >> n(无符号右移) 快速还原 $\frac{x}{2^n}\(由于n=4,所以例子中的除法是\)\frac{x}{16}$ 除数为无符号非2的幂 快速识别 \(\frac{x}{c}=x*M>>n\),且使用无符号乘法时 快速还原 \(c = \frac 阅读全文
摘要:
感觉这一种比较简单,就是$\frac{x}{c} = x * \frac{2n}{c}*\frac{1}{2n}$的除法优化而已,只不过魔术M是负数而已 但是gcc编译的优化方式略有不同 请看下图 当c<0时,\(\frac{x}{c} = -\frac{x}{-c} = - (x*\frac{2^ 阅读全文
摘要:
现在我们来逐步分析每一条代码的作用 push ecx 这条代码实际上是为了将esp-4,腾出一个局部变量的栈空间 lea eax,dword ptr ss:[esp] 将刚刚增加的栈空间的地址放入eax中 mov dword ptr ss:[esp],0 初始化这个变量 push eax 将变量地址 阅读全文
摘要:
从代码上来看,基本和有符号非2的幂的第一种优化一样,可是0x003F103F处的加法却很奇怪,请注意0x003F1036的乘法是否符号乘法,而它的操作数是一个负数,但是实际上我想要的是一个无符号数,所以0x003F103F处的加法是为了把这个负数变成无符号数。 接下来我们看看它是如何完成这个操作的 阅读全文
摘要:
今天我运行aria2c下载视频时发现如果强制终止进程的话,aria2c无法进行断点重下,但是ctr-c的话就能下载 可是如何在编程中模拟Ctrl+c,在网上搜索一番,在github找到了一个开源项目windows-kill,下载下来是一个exe,windows-kill.exe, 只要命令行执win 阅读全文
摘要:
关于c++反汇编与逆向分析除法优化推导6和推导7的思考 推导6: a、b均为整数,x为实数 推导7 设有a、b两整数,当b>0时,有 设有a、b两整数,当b<0时,有 阅读全文