V2EX mrzys
 mrzys 最近的时间轴更新
mrzys

mrzys

V2EX 第 204612 号会员,加入于 2016-12-06 12:27:58 +08:00
[北京]美团-门票度假 Java 开发工程师
酷工作    mrzys    2021-05-27 17:59:08 PM    最后回复来自 mrzys
1
吐槽同事一段 rap 歌词
程序员    mrzys    2018-08-10 17:52:38 PM    最后回复来自 Adelina
28
各位大佬,求帮分析一下这段 C 代码
程序员    mrzys    2018-03-24 20:01:49 PM    最后回复来自 mrzys
32
mrzys 最近回复了
2021-05-27 17:59:08 +08:00
回复了 mrzys 创建的主题 酷工作 [北京]美团-门票度假 Java 开发工程师
虽说是 Java 岗,但是不限技术栈。欢迎投递简历到 [email protected]
2018-08-06 16:48:13 +08:00
回复了 mrzys 创建的主题 程序员 吐槽同事一段 rap 歌词
@tingyunsay 我也很闲,但是活能干完哈。这位同事活就是能拖就拖的,还喜欢请假。一请假,我就忙了。。。
2018-08-06 16:46:54 +08:00
回复了 mrzys 创建的主题 程序员 吐槽同事一段 rap 歌词
@yag 他过年休了 20 多天,活都甩给我干了啊。。。
2018-08-06 11:47:13 +08:00
回复了 mrzys 创建的主题 程序员 吐槽同事一段 rap 歌词
@tutustream 哈哈,我瞄了一眼,他是在刷朋友圈。在我回复你的时候,他已经玩了 5 分种手机了。今天上午没听见他敲键盘。。。
2018-03-24 20:01:49 +08:00
回复了 mrzys 创建的主题 程序员 各位大佬,求帮分析一下这段 C 代码
@pkookp8
环境:4.13.0-37-generic gcc version 5.4.0 20160609

```
两次未优化的汇编代码:
```
Dump of assembler code for function main:
0x0000000000400546 <+0>: push %rbp
0x000000000040054a <+4>: sub $0x10,%rsp
0x000000000040054e <+8>: mov -0x10(%rbp),%rax
0x0000000000400552 <+12>: mov %rax,%rsi
0x0000000000400555 <+15>: mov $0x400604,%edi
0x000000000040055a <+20>: mov $0x0,%eax
0x000000000040055f <+25>: callq 0x400430 <__isoc99_scanf@plt>
0x0000000000400564 <+30>: movq $0x0,-0x8(%rbp)
0x000000000040056c <+38>: mov $0x0,%eax
0x0000000000400571 <+43>: leaveq
0x0000000000400572 <+44>: retq

```

```
Dump of assembler code for function main:
0x0000000000400546 <+0>: push %rbp
0x0000000000400547 <+1>: mov %rsp,%rbp
0x000000000040054a <+4>: sub $0x20,%rsp
0x000000000040054e <+8>: mov -0x18(%rbp),%rax
0x0000000000400552 <+12>: mov %rax,%rsi
0x0000000000400555 <+15>: mov $0x400604,%edi
0x000000000040055a <+20>: mov $0x0,%eax
0x000000000040055f <+25>: callq 0x400430 <__isoc99_scanf@plt>
0x0000000000400564 <+30>: movq $0x0,-0x10(%rbp)
0x000000000040056c <+38>: movq $0x0,-0x8(%rbp)
0x0000000000400574 <+46>: mov $0x0,%eax
0x0000000000400579 <+51>: leaveq
0x000000000040057a <+52>: retq
End of assembler dump.

```
-0x18(%rbp)和 -0x10(%rbp)的值,一个是非法的一个是合法的
2018-03-24 19:55:41 +08:00
回复了 mrzys 创建的主题 程序员 各位大佬,求帮分析一下这段 C 代码
@tomychen 额,感觉没关系啊。我刚好写完了 rio,准备写代码测试的时候发现了这个蛋疼的问题。不过还好,解决了这个问题加深了对汇编和运行时堆栈的了解。
2018-03-24 19:48:20 +08:00
回复了 mrzys 创建的主题 程序员 各位大佬,求帮分析一下这段 C 代码
@lingdux 大佬,我动态调试了一下,的确是一个巧合,未注释和注释的时候,指针的地址虽说有 8 个字节的偏差,但是正式因为这 8 个字节的偏差,导致指针指向的地址完全不一样,未注释的时候指针指向的地址指向了 code segment,注释后,指针指向的地址是合法的。
2018-03-24 19:43:10 +08:00
回复了 mrzys 创建的主题 程序员 各位大佬,求帮分析一下这段 C 代码
@pkookp8 我自己测试环境是 ubuntu x86-64,用 macOS 也测试了一下,-O0 的时候会报错,但是-O1 的时候不会报错。
2018-03-24 19:40:20 +08:00
回复了 mrzys 创建的主题 程序员 各位大佬,求帮分析一下这段 C 代码
@dummytaurus 我使用 gdb 打印了一下未初始化的指针的值,两次指针指向的地址不一样,没注释 i 和 j 的时候指针地址是合法的,注释其中一个的时候指针地址指向了 read-only code segment。的确和 crt 有关系。我怀疑是调用 main 之前已经使用了栈空间,栈上的值被上次的函数调用写入了数据,当调用 main 的时候,因为指针没有初始化,用的上次的值。
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1015 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 15ms UTC 18:25 PVG 02:25 LAX 11:25 JFK 14:25
Do have faith in what you're doing.
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86