2010-02-10 64 views
0

我一直在一臺服務器上工作,它與2個程序一起工作,我做了一個是服務器,一個是錯誤處理程序,如果主服務器出現故障,重新啓動它。第二個程序處理數據的主要方式是通過讀取程序中的值(因爲當我調試時,我正在填寫地址),因爲將值寫入文本文件只需要花費太長時間,而且還會佔用空間真的需要:|無論如何,我有大約100000的價值,但我只需要大約100我需要找到他們,如果我得到了錯誤的我可能會通過試圖解決什麼是「錯誤」,當沒有什麼是崩潰。 (有時候更多,但當我需要知道地址時,它不會超過100K)。如何找到一個地址每次

我不需要人告訴我如何做另一種方式來做到這一點,我真的只想知道如何找到所有其他的價值。我不能將它們寫入文本文件,我只能從內存中讀取它們,因爲我設置它的方式不同,我不想花費2-3周來重新編碼它。

編輯〜 對不起,如果我不清楚。我需要在內存中的值(即int,布爾等)的地址,所以我可以找到它。

另外我真的不想與2程序共享任何東西,因爲如果一個崩潰它可能需要其他與​​它。如果他們共享,如果它崩潰,並不重新啓動,那麼我的服務器將脫機intell有人告訴我或我做了更新:所以一兩天。

如果其他人感到困惑抱歉,只是問,我會編輯。

+1

我認爲你真的需要努力澄清你在這裏試圖完成什麼。例如,「100個數值都是整數,大約100,000個整數」沒有任何意義,至少對我來說。忽略這一點,如果你想要在同一臺機器上的程序之間進行快速通信,你可以考慮管道或共享內存區域。管道通常比較簡單。 – 2010-02-10 02:28:08

+0

你能花點時間來編輯你的問題嗎?用更多的標點符號和更少的代詞(「......在所有其他的代詞中找到它們」)會更容易理解。什麼是「他們?」什麼是「其他的」?)。這些地址是什麼類型的? IP的?郵寄地址?指針?這些細節對於有人能夠給你一個很好的答案會有很大的幫助。 – 2010-02-10 02:28:27

回答

0

除非您已經知道它們的值,否則您將無法在內存中找到它們。

如果你已經知道他們的價值觀,爲什麼要打擾他們呢?

如果需要2-3周來重新編寫代碼,那麼您應該花2-3周時間重寫「服務器」應用程序,以便它更易於維護。

0

對不起,它不起作用。許多「值」(變量)不存儲在內存中。相反,它們存儲在CPU寄存器中。這是因爲寄存器速度更快。但是,它們也很稀缺,因此在像您這樣的大型計劃中,它們將被重用。在不同的時間,不同的變量將被映射到一個特定的寄存器。因此,即使您知道localVariable732有時映射到ECX寄存器,您也不會知道ECX寄存器當前是否包含localVariable732值。

相關問題