我想做一個外部函數的聲明,但我做不到。如何聲明一個指針(字節^)?
這是我的Delphi聲明,它不能編譯。
procedure Encode(input:byte^;output:byte^;size:DWORD);cdecl;external 'blowfish.dll';
這是我的C#聲明,它的工作原理。
[DllImport("blowfish.dll")]
public static unsafe extern void Encode(byte* input, byte* output, UInt32 size);
我的問題:編譯器exprects「(」 ^因爲^。如果的,字節之後使一個類型mybyte =字節^;然後我怎樣調用與字節數組中的第一構件的功能 - 這則不能編譯,因爲數組心不是類型「myByte」
你可能想聲明C#不同:public static extern void Encode(byte [] input,byte [] output,UInt32 size); – Dykam 2009-07-12 14:43:29
你是什麼意思?該參數必須是一個指針,因爲該函數會更改該值。 – 2009-07-12 14:44:37