作者jway1022 (蝶戀月)
看板C_Sharp
標題[問題] 陣列轉指標問題
時間Tue Feb 2 14:32:42 2016
目前在練習指標的用法
有一個地方卡住了,想請問各位的解法
一開始定義了
public unsafe gdi32.BITMAPINFO* m_pBmpInfo;
然後在練習的程式中C++裡面是這樣寫
m_pBmpInfo = (BITMAPINFO*)new
BYTE[(sizeof(BITMAPINFOHEADER)+256*sizeof(RGBQUAD))];
請問可不可以教我該如何去做相同的事情呢 ?
最近在學習 C# 請各位鞭小力點 QAQ
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.61.64.62
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_Sharp/M.1454394764.A.4E0.html
1F:→ Litfal: 如果你是剛從C來C#的,第一件事要習慣沒指標可用 02/03 08:00
2F:→ Litfal: 不是做不到,而是在C#裡面不應該把直接指標當常態 02/03 08:02
3F:→ Litfal: 至於怎麼用...那得先請問你要做什麼呢?看你的code是想用 02/03 08:05
4F:→ Litfal: gdi32的pinvoke,那通常是用IntPtr。不過在C#更常直接用 02/03 08:07
5F:→ Litfal: Bitmap類 02/03 08:08
6F:推 yeo1987: 使用Marshal.AllocXXX配置記憶體,使用完用對應方法釋放 02/03 22:48
7F:→ yeo1987: ,或著用GCHandle.Alloc Pinned住,使用完釋放。再者... 02/03 22:48
8F:→ yeo1987: 可以直接用P/Invoke Call對應方法。 02/03 22:48