gpt4 book ai didi

c - 编写 C DLL 的替代品?

转载 作者:太空宇宙 更新时间:2023-11-04 04:58:36 26 4
gpt4 key购买 nike

我想为 w3btrv7.dll 编写一个非常简单的替代品,这样我就可以将 Btrieve API 调用传递给另一个库(用 .NET 编写并通过 COM 调用)。基本上,我需要在 C 中模仿 BTRCALL 函数的签名。但是,我根本不是 C 程序员……。我认为我对如何编写导出函数的 DLL 有一个很好的想法,但除此之外,我迷路了。

基本签名如下所示:

int BTRCALL(Operation Code, Position Block, Data Buffer, Data Buffer Length, 
Key Buffer, Key Buffer Length, Key Number)

操作码 - 整数

位置 block - 128 字节数组

数据缓冲区 - 我找不到关于此的很多详细信息,但我假设它是一个字节数组,其长度由数据缓冲区长度参数指定。

数据缓冲区长度 - 同样,信息不多,但我假设这是一个指定前一个字节数组长度的整数。

Key Buffer - 最大为 255 字节的字节数组

Key Buffer Length - 前一个字节数组的长度

key 编号 - 2 字节整数

谁能推荐一个匹配这个签名的 C 函数?

最佳答案

#include <types.h>
int BTRCALL(int op_code, char pos_block[], char data_buf[], int data_buf_len, char key_buf[], int key_buf_len, int16_t key_num)

您需要 types.h include 来获取指定 2 字节(有符号)整数的 int16_t 类型。

请注意数组如何没有指定大小,这就是为什么大小必须在单独的参数中或已知的先验(如 pos_block)。

关于c - 编写 C DLL 的替代品?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1284945/

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