我有以下C函数
typedef struct ekeycore_ctx_ ekeycore_ctx;
typedef struct ekeycore_enum_ ekeycore_enum;
typedef struct ekeycore_device_ {
char *serial;
char *portname;
char *node;
BOOL present;
BOOL used;
} ekeycore_device;
typedef struct ekeycore_simple_ ekeycore_simple;
typedef enum {
EKEYCORE_OK = 0, /* everything was fine */
EKEYCORE_NOMEM = 1, /* out of memory */
EKEYCORE_NODEVICE = 2, /* no devices are available */
EKEYCORE_TIMEOUT = 3, /* key did not respond to request */
EKEYCORE_FAULTY = 4, /* device has reported faulty/attacked */
EKEYCORE_UNKNOWN = 5 /* unknown error */
} ekeycore_result;
EKEYCORE_API ekeycore_result ekeycore_simple_get(ekeycore_simple *ctx, unsigned char *buff, size_t buffz)
我需要从C#调用此函数(ekeycore_simple_get),我将如何处理?上面的变量类型将如何转换?
c#参考方案
您可能会问很多StackOverflow,以便有人为您解决所有问题,但是有关在MSDN上编组结构的很好的信息(请参见下面的链接)
这些是我用来引用P /调用技术的地方:
http://msdn.microsoft.com/en-us/library/ms384329%28VS.71%29.aspx
http://www.pinvoke.net/(质量很差)
.NET框架源代码-对于常见的Windows DLL标志,它比pinvoke.net更好
可以是三进制么?二进制有什么好处?题解:为什么叫电子计算机?算盘应该没有二进制
LeetCode题解统计城市的所有灯泡这个是我刚毕业的时候,一个真实的面试题,这是一个开放题。题目描述:想办法,将一个城市的所有灯泡数量统计出来。题解:费米估算法1、如果某个城市常驻人口有1000万2、假设每5人居住在一套房里,每套房有灯泡5只,那么住宅灯泡共有1000万只3、假设公众场所每10人共享一只灯泡,那么共有100万只4、主要的这两者相加就得出了1100万只当然实际上这是估算的,具体应…
LeetCode题解黑白圆盘一个圆盘被涂上了黑白二色,两种颜色各占一个半圆。圆盘以一个未知的速度、按一个未知的方向旋转。你有一种特殊的相机可以让你即时观察到圆上的一个点的颜色。你需要多少个相机才能确定圆盘旋转的方向?题解:可以用一个相机即可
LeetCode题解圆上任取三点构成锐角三角形的概率来自字节跳动的一道几何题题解:1/4
LeetCode题解深度优先遍历和回溯的关系?深度优先遍历的范围更大还是回溯的范围更大?为什么?题解:我的理解是:dfs是回溯思想的一种体现- 回溯:是在整个搜索空间中搜索出可行解,在搜索过程中不断剪枝回退,这是回溯的思想,这个搜索空间并没有限制于特定的数据结构。- dfs:dfs是指特定的数据结构中如图,树(特殊的图)中搜索答案,范围限制在了特定的数据结构。个人拙见。