gpt4 book ai didi

delphi - 如何声明一个指针(byte^)?

转载 作者:行者123 更新时间:2023-12-02 04:48:17 25 4
gpt4 key购买 nike

我想声明一个外部函数,但我做不到。

这是我的 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);

我的问题:编译器在 byte^ 之后会出现“(”,因为 ^。如果我创建一个类型 mybyte= byte^; 那么我如何使用字节数组中的第一个成员调用该函数 - 那么它就不能编译,因为数组不是类型“myByte”?

最佳答案

^ 不应该在类型名称之前吗?

procedure Encode(input:^byte;output:^byte;size:DWORD);cdecl;external 'blowfish.dll';

此外,DLL 可能需要字节数组而不是指向字节的指针。所以你可能也想对此进行调整。 (在 C 中,数组和指针的声明方式相同。)

关于delphi - 如何声明一个指针(byte^)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1116136/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com