亚洲欧美综合精品二区,亚洲av无码国产精品夜色午夜,亚洲精品无码乱码成人,亚洲精品成人久久久,亚洲av成人午夜电影在线观看

話本小說網(wǎng) > 原創(chuàng)短篇小說 > 林烏山與梅秋月
本書標(biāo)簽: 原創(chuàng)短篇  原創(chuàng)  隨筆 

C++內(nèi)存偷取器

林烏山與梅秋月

林烏山我估計這回作者要“大顯身手了”。這是他的興趣和特長!

不愧是陪我過完《廢都物語》五周目的法爺,就是懂我!

但考慮到你對小梅的需要,這次還是交給你了(

林烏山作者你什么意思!這么著急是嗎?。ㄊ掷锉蝗艘环莶牧希?/p>

梅秋月(走過來)林烏山,你怎么和作者吵起來了?

林烏山?。繘]什么,就是我們又得忙活了。

梅秋月沒關(guān)系啦,只要和你在一起,我是不會累的~

林烏山嗯。(嗯?)

林烏山所以……讓我們看看作者整了個什么活……

梅秋月我也要看?。愡^來)

林烏山——害,沒什么,就是利用一些基礎(chǔ)的小東西偷到了自家電腦的部分運行時內(nèi)存罷了。

林烏山既然這樣……那么本章就沒有什么實際價值了。

梅秋月……沒關(guān)系,為了保證作者的連續(xù)更新,我們就配合一下吧!

林烏山嗯。

林烏山——梅秋月啊,按照慣例,先做個復(fù)習(xí)吧。如果直接/* int* p;cout<<*p; */就會得到一串隨機數(shù)字。請問為什么這串?dāng)?shù)字是隨機的呢?

梅秋月我知道!因為變量沒有初始化!

林烏山不錯。那么,/* int* p;p++; */中p++表示讓p做什么?

梅秋月讓p指向下一個地址!

林烏山很好?,F(xiàn)在我們知道,為了正常的使用,變量都需要初始化以保證不會出現(xiàn)不可預(yù)測的結(jié)果。那么,如果是不正常的使用呢?比如,我就是想讀到內(nèi)存里原有的東西呢?

梅秋月嗯……那么就不初始化了?

林烏山嗯。作者正是抱著這樣的想法,寫出了“內(nèi)存偷取器”。

梅秋月……不會吧?事情還可以這么單純的嗎?

林烏山沒辦法?!唧w實現(xiàn)也很簡單,new兩個指針,再開一個數(shù)據(jù)數(shù)組,把兩個指針指向的地址統(tǒng)一,然后一個往前翻,一個往后翻,最后把翻到的東西輸出,這就是全部操作。

梅秋月……聽起來好簡單啊,那出什么岔子了嗎?

林烏山……不然這章就沒什么好寫的了。作者發(fā)現(xiàn),在偷取總長度達到約20000時程序會在幾秒內(nèi)報3221225477。這個錯誤作者在寫出形如freopen(file,"r",stdout)的語句時也遇到過,并且從開始運行到報錯的時間與正確操作的時間相差不大。我們來想一想這是為什么呢?

梅秋月嗯……會不會是因為超出地址表示范圍了?

林烏山我和作者一開始都是這樣想的,直到我們問了他的媽媽。她告訴我們,為了防止這種情況發(fā)生,硬件在讀地址時只會認(rèn)有效的那幾位?!覀儊碜鰝€算數(shù)題,4GB=2^2GB=2^(2+10)MB=2^(12+10)KB=2^32B,剛好對應(yīng)32位計算機的最大尋址范圍。套用這一結(jié)果,我們立刻得到作者的8GB內(nèi)存需要用33位尋址。這就為作者電腦的循環(huán)地址實現(xiàn)提供了理論基礎(chǔ)。

林烏山……所以為什么會報3221225477這個問題,我們就沒主意了。

梅秋月啊?……要不,我們再聊點別的?

林烏山……也可以。作者用治標(biāo)不治本的方法,規(guī)避了這一問題,然后偷到了不少好東西。至于都是些什么,一是因為作者不記得了,二是因為可能涉及個人隱私,所以就是后話了。梅秋月,休息吧~

梅秋月好的~

上一章 尺規(guī)作正n邊形?(暫時n=5) 林烏山與梅秋月最新章節(jié) 下一章 鋪地毯?等比數(shù)列求和?梅森素數(shù)?(未完)
?