繁体   English   中英

DLL项目应该是跨平台使用的类型

[英]DLL project should be of which type for cross platform use

我们有一个C#.NET和Apple iPad的应用程序。 该应用程序将执行类似的功能。 为此,我们有一个协议层,我们正在考虑将其保留为通用代码。 为此,我们考虑为协议模块创建一个C ++ DLL,以便它可以在C#和iPad上使用。 为了创建C ++ DLL,我有一个基本问题:

在创建dll项目时,我们应该选择哪个选项? 我们可以为MFC,Win32,ATL等创建一个dll。对我的要求最好的选择是什么?

您不应该使用MFC,因为这些是iOS上无法使用的Microsoft基础类 可能Win32可能是你最好的猜测 - 但如果你想在非Windows环境中使用DLL,请确保不要包含任何非标准的Windows头文件。

我建议经常在两个环境中编译您的文件。 如果您需要高级功能,您可能还想看看像boost这样的多平台库。

我建议使用Mono在Windows和iOS上构建C#应用程序。

如果你想要定位iPad,你需要为iOS而不是Mac OS构建。

您无法为iOS构建动态链接库,只能构建静态库。 请注意,iOS上有DLL的等价物,但只有Apple可以构建它们(或者如果你的iPad被越狱,你可以自己构建它们,但这会使你的应用程序从AppStore中取消资格)。

iOS无论如何都与Windows无关,因此Win32库不能在iOS上运行。 您的通用“协议模块”(如果您指的是可通过TCP / IP或类似设备与其他设备连接的低级代码),则需要根据其运行的平台存在显着差异。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM