[英]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.