如果你生活在乙個虛擬的世界中,你可以發現自己處在這個虛擬世界中麼?這個問題。。我曾經想過。也許就是有一道門,通往世界以外的世界,當你穿過這道門你就能站在乙個更高的高度來看待整個世界。
這個問題實際上可以歸結為coding下的這個問題:
乙個程式可以發現自己是在虛擬機器中執行的麼?
網上給的結論可以說眾說紛紜,但是可以確定的是,沒有方法可以讓乙個程式來識別其是否在虛擬機器中執行。(即使可以識別,也只是針對某一種或者幾種固定的提供某種可被程式讀到的「標識」的虛擬機器。)
所以這就跟現實世界中一樣,至少暫時看來,人是不能發現宇宙以外的世界的。
研究這個問題有什麼意義呢?——舉乙個簡單的例子。
我們可以看到很多單機遊戲或者軟體,有各種防盜版的功能,最後都被一一破解,怎麼破解? —— 虛擬光碟機。將映象檔案直接作為虛擬光碟讀出來,程式無法判斷自己到底是在光碟中被讀出來的還是虛擬光碟機中讀出來的。。。於是軟體廠商想出了如下辦法:判斷是不是有兩個光碟機,如果有,就認為是虛擬光碟機。
這一點也難不倒我們:我們用虛擬光碟機,然後把電腦的真實光碟機遮蔽掉,這樣軟體就只能檢測到乙個光碟機了。。於是我們就可以用它了。。(具體例子:遊戲,大富翁7)
這個問題相當哲學,也相當有意思。。不知道當人類解開自己身處的世界之外的世界的謎的時候,世界又會變成乙個什麼樣子。
5 5 世界的需求
我想現在的世界需要7種人,偉大的思想家,偉大的政治家,偉大的軍事家,偉大的經濟學家,偉大的管理學家,偉大的企業家和偉大的科學家。世界需要偉大的思想家,為人類指明前進的方向,在思想上防止人類出現倒退,互相毀滅的情況發生。人的思想不被正確的思想所佔據,就容易被錯誤的思想所佔據。乙個國家或民族在困境中太久...
演算法設計之 世界上最好理解的堆排序
堆排序 堆排序是利用堆這種資料結構而設計的一種排序演算法,堆排序是一種選擇排序,它的最壞,最好,平均時間複雜度均為o nlogn 它也是不穩定排序。首先簡單了解下堆結構。堆堆是具有以下性質的完全二叉樹 每個結點的值都大於或等於其左右孩子結點的值,稱為大頂堆 或者每個結點的值都小於或等於其左右孩子結點...
度度熊的01世界 DFS
度度熊是乙個喜歡計算機的孩子,在計算機的世界中,所有事物實際上都只由0和1組成。現在給你乙個n m的影象,你需要分辨他究竟是0,還是1,或者兩者均不是。影象0的定義 存在1字元且1字元只能是由乙個連通塊組成,存在且僅存在乙個由0字元組成的連通塊完全被1所包圍。影象1的定義 存在1字元且1字元只能是由...