我需要從存儲器位置的值爲0至3個字節假定INT使用4個字節的數據,並且如果長期使用8個字節, 我想讀0〜7字節長的數據,並看看它給回的價值。 任何人都可以用C#代碼來幫助我。讀數值的指針位置
問候, Vix指數
我需要從存儲器位置的值爲0至3個字節假定INT使用4個字節的數據,並且如果長期使用8個字節, 我想讀0〜7字節長的數據,並看看它給回的價值。 任何人都可以用C#代碼來幫助我。讀數值的指針位置
問候, Vix指數
這可能是非常危險的,怎麼越來越地址,你是如何評價它是有效的?並非每個地址都是有效的,而試圖從其中一些地址讀取會導致例外。
但是你可以使用Marshal.Read*方法做到這一點。
int intValue = Marshal.ReadInt32(addr);
long longValue = Marshal.ReadInt64(addr);
您還需要捕獲AccessViolationException。
而且你想從虛擬地址或從物理內存中讀取。從C#開始,您只會從您的流程的virtual address space中讀取數據。您必須使用內核模式驅動程序才能直接訪問計算機上的物理內存。
如果你需要捕獲AccessViolations你可能做錯了什麼。 – CodesInChaos
int i = 16; 長j = 56; int * p1; 長* p2; p2 =&j; p1 =&i; 我想讀從0存儲的值 - 作爲INT被分配有4個字節長與8個字節 與之相似0-7字節的長3個字節爲int。 – Vix
爲什麼你首先需要指針? int已經包含這些字節。 – CodesInChaos
自己的過程或其他進程? – CodesInChaos