Я хочу сделать заявление о внешней функции, но я не могу этого сделать.Как объявить указатель (byte ^)?
Это моя декларация 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# different: public static extern void Encode (byte [] input, byte [] output, UInt32 size); – Dykam
Что значит? Параметр должен быть указателем, потому что функция меняет значение. –