1
3
是的,您可以在.NET应用程序中使用C++代码(只要它不依赖于Linux特定的功能)。C++/CLI是C++的一个超集,提供对.NET托管类和其他特征的访问。使用现有代码,将其构建为一个dll(如果可以,可以托管,如果不能托管),然后创建调用它的GUI部件。 |
2
1
您可能无法将其简单地移植到等效的C库中。您可能需要考虑托管C++来创建一个可以调用的引用程序集。或者,如果有一个包含此库的Windows DLL,则可以使用interop从C程序调用代码。 |
3
1
如果您已经很好地构建了这一体系结构,因此您的逻辑位于相对较少的不关心GUI的函数中,那么我建议在您可以从GUI调用的DLL中构建逻辑。 一种方法是公开一组“extern c”函数,这些函数采用相对简单的参数类型(例如int和字符串,而不是继承自其他结构的大型结构等),然后您可以轻松地使用p/invoke(也称为dllimport)直接从vb.net代码调用该代码。同时,您的Unix代码也可以在相同的代码库中调用相同的函数。没有叉车。 如果您需要传递更复杂的参数类型,那么您可能希望在C++/CLI中编写UI(因为它可以只插入标题并知道类型),或者(因为设计器的故事对于C++/CLI非常可悲)在VB.NET中编写UI,并添加对调用逻辑的包装器C++/CLI组件的引用。在这两种情况下,如果使您的生活更简单,函数就不必是“extern c”。 无论哪种方式,不要将所有的业务逻辑复制到一个新的VB.NET或C++或C++/CLI文件中,并向前维护分叉代码。你会更高兴保持一个共同的核心并与之互操作。 |
rookie · 检查函数模板的所有参数包参数是否属于int 1 年前 |
ivaigult · -W转换和隐式字符串到布尔类型转换 1 年前 |
rainer · 后台插入程序的初始化 1 年前 |
Community wiki · 以理智、安全和高效的方式复制文件 1 年前 |
Shefali Kanaujia · 对C中向量的向量进行排序++ 1 年前 |
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |