English 中文(简体)
我应如何在C++中写我的校准,以供在NET中使用?
原标题:How should I write my lib in C++ for use in .NET?

我有一个在C++中书写的校准原型。 这是万国邮联的密集活动,因此我在C部分(由于工具),在C++的肉类中写了一部分,并使用了习俗记忆分配器和各种东西。

我想在NET中使用这一平衡。 我不确切地确定我应该怎样做。 我似乎喜欢写一个C接口,在NET中写一个包裹,以使用管理中的C++,我假定,除了我增加一个档案或两个文件,并为他们撰写一个有管理的类别。

我应该知道,我是否走管理的道路有什么好处或限制?

问题回答

C++/CLI是你重新寻找的答案。 C++/CLI的美丽之处在于,它允许你将本土C++与NET代码混为一谈,你可以用来建立一个供消费的图书馆。 NET开发商。 下面的MSDN条款是介绍其如何运作的重要内容:

希望这一帮助!

这取决于您的C++图书馆与您之间的“地面接触”。 NET代码(BTW,你需要把它作为DL,不管你选择什么方式)。

如果你真的有一个完全面向目标的图书馆,有班级、方法、性质,即:物体模式,你可以前往C++/CLI,因此,一体化将具有相当的透明度。 缺点是,你不得不理解其中的一些微妙之处(我认为你也有一些限制,说明你是如何把“特别志愿人员”带进来的。

If you can reduce the API to a finite set of methods, than you can just export some of these methods and use P/Invoke (DllImport attribute. See this tutorial here: Platform Invoke Tutorial). In this case, make sure the exposed parameters will be consumable by the .NET layer (don t use complex C/C++ types, pointers to pointers to pointers, ..., don t use C++ classes, ...), and try to ensure memory allocation will be done by the .NET side.

PS: as a side note, you should think about the 32-bit / 64-bit issue. Will you DLL be available in 64-bit? Will you distribute both version? .NET is capable of both.





相关问题
Manually implementing high performance algorithms in .NET

As a learning experience I recently tried implementing Quicksort with 3 way partitioning in C#. Apart from needing to add an extra range check on the left/right variables before the recursive call, ...

Anyone feel like passing it forward?

I m the only developer in my company, and am getting along well as an autodidact, but I know I m missing out on the education one gets from working with and having code reviewed by more senior devs. ...

How do I compare two decimals to 10 decimal places?

I m using decimal type (.net), and I want to see if two numbers are equal. But I only want to be accurate to 10 decimal places. For example take these three numbers. I want them all to be equal. 0....

Exception practices when creating a SynchronizationContext?

I m creating an STA version of the SynchronizationContext for use in Windows Workflow 4.0. I m wondering what to do about exceptions when Post-ing callbacks. The SynchronizationContext can be used ...

Show running instance in single instance application

I am building an application with C#. I managed to turn this into a single instance application by checking if the same process is already running. Process[] pname = Process.GetProcessesByName("...

How to combine DataTrigger and EventTrigger?

NOTE I have asked the related question (with an accepted answer): How to combine DataTrigger and Trigger? I think I need to combine an EventTrigger and a DataTrigger to achieve what I m after: when ...

热门标签