我創建了一個包含圖像像素數據的BYTE數組。圖像是灰度,每個像素的亮度是一個32位的整數。現在我想讀取每個像素強度(32位整數),然後對每個像素強度執行一些操作並存儲修改的像素強度(再次以32位整數值)。所以我的問題是如何從BYTE數組讀取32位(或16位)整數。 (在VC++/MFC中工作)。從BYTE數組中讀取一個32位整數。 VC++
謝謝。
我創建了一個包含圖像像素數據的BYTE數組。圖像是灰度,每個像素的亮度是一個32位的整數。現在我想讀取每個像素強度(32位整數),然後對每個像素強度執行一些操作並存儲修改的像素強度(再次以32位整數值)。所以我的問題是如何從BYTE數組讀取32位(或16位)整數。 (在VC++/MFC中工作)。從BYTE數組中讀取一個32位整數。 VC++
謝謝。
使用memcpy
可將數組中的數據從獲取到int32_t
(或uint32_t
)的數組。
如果你不需要可移植性,你的體系結構可能允許將第一個的地址轉換爲int32_t*
並在原地使用它。
如果你的所有數據總是來自一個文件,並且沒有什麼需要在單個字節上工作,你可以直接將它讀入一個int32_t
的數組中。
本·福格特
恕我直言,我完全與DllMain是因爲不是強制性的這一說法。您提供的鏈接有誤導性信息。
每個可執行模塊(exe或DLL)必須有一個入口點。否則系統將無法啓動任何程序。
因此定義和實現一個入口點是必須的。
UNK
如果您創建的Win32或MFC擴展DLL,嚮導插入入口點在兩個項目。 MFC使用DllMain,而Win32使用的_tmain被定義爲用於Unicode的wmain或用於ANSI的main。兩者都只是名稱的佔位符,可以更改(但爲什麼打擾)。
您必須創建MFC規則DLL。這種類型的DLL也有一個入口點,但它不會在嚮導創建的任何源文件中公開。 它被稱爲__DllMainCRTStartup並駐留在crtdll.c中。
對於MFC規則DLL,請使用應用程序的InitInstance來初始化您的dll。順便說一句:任何MFC應用程序也有WinMain,不會在嚮導生成的任何代碼中公開。
你知道數組的字節順序嗎? –
你是如何創建BYTE數組而不知道如何執行此操作的? –
不,我不知道。 – UNK