Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何导入定制C++;通过DLL将数据类型导入C#应用程序 我有一个C语言WiFrm应用程序,已经编写了C++应用程序。长话短说,我希望我的C语言应用程序从C++ DLL调用不同的方法,但是C++函数需要非原始类型的参数,而我的C语言应用程序不支持这些参数。_C#_C++_Dll_Interop_Custom Data Type - Fatal编程技术网

如何导入定制C++;通过DLL将数据类型导入C#应用程序 我有一个C语言WiFrm应用程序,已经编写了C++应用程序。长话短说,我希望我的C语言应用程序从C++ DLL调用不同的方法,但是C++函数需要非原始类型的参数,而我的C语言应用程序不支持这些参数。

如何导入定制C++;通过DLL将数据类型导入C#应用程序 我有一个C语言WiFrm应用程序,已经编写了C++应用程序。长话短说,我希望我的C语言应用程序从C++ DLL调用不同的方法,但是C++函数需要非原始类型的参数,而我的C语言应用程序不支持这些参数。,c#,c++,dll,interop,custom-data-type,C#,C++,Dll,Interop,Custom Data Type,比如说, public: void demoFunction(DemoType param1, TypeDemo param2); P.在C++应用程序中存在的类型和类型。 那么在我的C#应用程序中,如何准确地调用这个函数呢?有没有办法让我的C#应用程序识别这些类型 我知道我可以从dll导入函数: [DllImport("Demo.dll", CallingConvention = CallingConvention.Cdecl)] public static extern v

比如说,

public:
       void demoFunction(DemoType param1, TypeDemo param2);
<> P.在C++应用程序中存在的类型和类型。 那么在我的C#应用程序中,如何准确地调用这个函数呢?有没有办法让我的C#应用程序识别这些类型

我知道我可以从dll导入函数:

[DllImport("Demo.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void demoFunction(?, ?);
代码片段中的“?”符号是我很难得到的

我认为,如果我能够将这些数据类型导入到我的C#应用程序中,我就能够在调用函数时强制转换这些值。例如:
(DemoType)值
,其中值的类型为int

我不能改变参数的类型,它们必须保持这种状态。可能吗


谢谢所有的帮助。

[dLimPult]适合C语言接口,不能创建C++对象。只有C++编译器知道如何做到这一点。如果你不能修改现有的API,那么你需要一个C++/CLI项目。也许你可以先用C++来包装C++库,但是你的自定义类型是什么?简单结构还是类?@AndreaRossini两者都有,据我所知,我需要在我的'DllImport'语句上面声明结构和类,并赋予它相同的属性。但听起来效率不高。