- 博客(3)
- 资源 (2)
- 收藏
- 关注
原创 printf("%d %d %d %d\n", b++, ++b, b++, ++b)打印的汇编解释
上图左侧是源码,右侧是对应的汇编代码,使用 g++ -S a.cpp 翻译得来。代码运行的结果是: 从右侧汇编代码可以看出,printf中表达式的计算是从右往左的,且: 对于++b的输出,不管它放在printf的哪个位置,调用时使用的都是b的最终值,即4轮自增操作以后的值 而b++则在每一步计算时先把b保存到新寄存器,再把b+1后的结果赋给b...
2018-11-09 09:48:38 3834 1
原创 mac上安装gdb及使用中碰到的问题
安装homebriew,执行命令/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 根据官方介绍,其功能是:“使用 Homebrew 安装 Apple 没有预装但 你需要的东西。”。 完全基于 git 和
2017-04-05 10:27:13 4183 2
原创 解决用gdb调试跟踪wine时无法跟入wine_init的问题
1.wine客户端在载入PE映像过程中,为了让PE映像正确运行。需要预先分配好它该占用的地址空间,所以wine的执行过程比较曲折和特殊。首先在shell上执行wine xx.exe命令后,由shell启动新进程运行wine程序,而后wine会调用exec()将自己由wine-preloader程序取代,调整命令行参数,使得命令变成wine-preloader wine xx.exe。而进程空间
2013-05-25 10:13:05 1312
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人