回应模式 - No.66601160


No.66601160 - 技术宅


无标题无名氏No.66601160 只看PO

2025-07-17(四)22:28:03 ID:Vf1rnyi 回应

遇见一段诡异的代码。
遇见它的契机是发现第七行代码可以运行,但第六行不行,但这两行代码实质上应该完全一样的,于是小肥开始调试。

无标题无名氏No.66601211

2025-07-17(四)22:32:57 ID: Vf1rnyi (PO主)

可以发现,两个GetDC地址是相同的,但返回值是不同的。问了ai,也说是两个值应该是相同的,这个问题很不解
但是一不小心多按了一下F10的小肥发现,程序竟然没有报错退出,这个程序竟然运行起来了

无标题无名氏No.66601233

2025-07-17(四)22:35:42 ID: Vf1rnyi (PO主)

小肥以为会不会是运行了一次GetDC的原因,所以注释了这行再次运行,结果程序还是跑起来了
可是现在的程序和开始的相比只是多了两行printf的调试输出啊Σ( ゚д゚)

无标题无名氏No.66601271

2025-07-17(四)22:38:57 ID: Vf1rnyi (PO主)

惊讶的小肥连忙又注释了一行,结果发现程序还是能跑起来。可是最让我不解的事情出现了,我注释了剩下的一行调试输出,满怀期待地按下F5,但是,程序又寄掉了( ゚д゚)

无标题无名氏No.66601285

2025-07-17(四)22:40:11 ID: 8hxlYPV

换一个编译器试试

无标题无名氏No.66601353

2025-07-17(四)22:46:29 ID: Vf1rnyi (PO主)

我郁闷地取消了这一行的注释,无奈地再次按下F5,但是诡异的事情出现了,程序还是没跑起来??明明和刚刚的代码一样了,但是现在跑不起来了?
然后小肥试了几次,发现两条调试语句都在的时候程序能跑,此时注释掉语句1程序也能跑,但这时再注释语句2就不能跑了。此时取消语句2的注释,程序也不能跑(好诡异??),但再取消语句1的注释,代码又能跑起来。
此外在注释语句2的情况下,保留语句1,也能正常运行,再注释语句1不能运行,此时取消注释语句1能运行

无标题无名氏No.66601367

2025-07-17(四)22:48:08 ID: Vf1rnyi (PO主)

>>No.66601285
试了VS和mingw都不能正常跑

无标题无名氏No.66601380

2025-07-17(四)22:50:03 ID: eGGalz7

“只要代码能跑就不要动”

无标题无名氏No.66601396

2025-07-17(四)22:51:57 ID: Vf1rnyi (PO主)

>>No.66601380
一般的我也就忍了,但是它是有输出的printf(;´Д`)

无标题无名氏No.66602444

2025-07-18(五)01:00:54 ID: QbwxZDS

在哪一行寄的?报错是什么