如何调用C/CPP的DLL? 导出函数是一个取地址的参数。并且是一个结构。
int main() {
uint8_t seed[32] = {0}; //这里的{0} 是传入的参数麽??意思是传入的第一个参数?
//这里的ZksPrivateKey等 是一个结构。如下:
/*
应该如何翻译成C#?
typedef struct ZksPrivateKey {
uint8_t data[PRIVATE_KEY_LEN];
} ZksPrivateKey;
*/
ZksPrivateKey private_key = {0}; //同上?
ZksPackedPublicKey publicKey = {0};//同上?
ZksPubkeyHash pubkeyHash = {0};//同上?
zks_crypto_init();
//下面的方法都是有& 取地址的 请问应该如何再c#中导入这个方法?并且调用?
zks_crypto_private_key_from_seed(seed, 32, &private_key);
zks_crypto_private_key_to_public_key(&private_key, &publicKey);
zks_crypto_public_key_to_pubkey_hash(&publicKey, &pubkeyHash);
uint8_t message[] = "hello";
ZksSignature signature = {0};
zks_crypto_sign_musig(&private_key, message, 5, &signature);
return 0;
}
相关推荐
C#调用C/C++ Dll中函数实例代码
实例代码说明如何在托管的C#代码中调用非托管的Win32 API或者自己用C/C++写的Dll中的函数,以及如何传递输入、输出字符串参数,结构类型参数等问题。
C#调用C/C++ DLL方式总结
C#与C/C++ DLL交互方式总结 C#调用C/C++ DLL导出 C/C++的导出函数: int __stdcall AFunc(wchar_t* str) { //ugsdifgoisuhfgiosugdtfuywegouy return 0; } C#声明: [DllImport("xxxx.dll", CharSet = CharSet.Unicode, C...
【45】C++/C#实战篇——C#调用C/C++生成动态库.dll及C++ 生成动态库.dll ,DllImport()方式导入 C++动态库.dll方法总结
本文介绍了C#调用C/C++生成的动态库DLL的两种方法。首先说明C++生成的DLL中只有以C方式导出的函数才能被C#调用。然后通过Windows窗体应用项目演示了如何使用DllImport特性导入DLL中的函数,包括普通函数、类函数和以C方式导出的函数。测试结果显示,只有以extern "C"方式导出的函数能够成功被C#调用。文章提供了完整的代码示例,展示了如何通过按钮点击事件调用并显示DLL函数的计算结果。
C# 调用C++DLL(函数参数包含指针)
C#调用C++DLL,C++DLL中的函数参数包含指针。 绝对可用。
C#调用C++的dll实例,回调函数,string和int数组参数传递
C#调用C++的dll实例,回调函数,string和int数组参数传递,在vs2010下调试通过,总结在这里,供大家参考。


