P/Invoke提供了方便的.NET和c++ dll交互接口,通过P/Invoke可以将native的对象转化成managed object,从而享受.NET带来的种种便利.
但是,假如dll中返回的参数,不是形如int, double, bool这样可以直接转化为.NET类型的对象,又该如 何使用P/Invoke呢?
比如我有这样一个接口:
1 #ifdef DLLPROJECT 2 #define DLLEXP __declspec(dllexport) 3 #else 4 #define DLLEXP __declspec(dllimport) 5 #endif 6 7 struct group 8 { 9 char* groupName; 10 int userCount; 11 char** userNames; 12 }; 13 14 struct groupList 15 { 16 int count; 17 group* groups; 18 }; 19 20 extern "C" 21 { 22 DLLEXP groupList* getGroupList(); 23 }
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索c++
, 对象
, 接口
, define
, invoke
, declspec
p invoke
matlab struct array、struct array、golang struct array、c struct array、struct array numpy,以便于您获取更多的相关知识。
时间: 2024-08-16 06:19:27