在C#WPF应用程序中使用C 11库有哪些选择?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了在C#WPF应用程序中使用C 11库有哪些选择?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1455字,纯文字阅读大概需要3分钟。
内容图文
![在C#WPF应用程序中使用C 11库有哪些选择?](/upload/InfoBanner/zyjiaocheng/786/ad859cf3a9e64c08a21a23ed63c5c787.jpg)
我在C 11中编写了一个跨平台(OS X和Windows)桌面应用程序.我打算在两个平台上使用相同的C 11核心,利用UI的本机框架(OS X和WPF上的Cocoa和Objective-C) C#on Windows)因为我认为最好的UX体验是原生的.
目前,该应用程序在两个平台上作为控制台应用运行.应用程序执行一些CPU密集型工作并为进度报告提供回调,并在完成时实例化表示处理结果的Items(std :: vector< std :: unique_ptr< Item>>)的集合.
我的目标是使C 11库以与MVC和MVVM模式兼容的方式充当UI的模型.
用户界面必须:
>允许用户选择要处理的文件(打开文件对话框并将文件路径发送到C库)
>显示进度(处理来自C库的回调以更新进度条)
>以WPF格式显示结果(访问Item类并显示它提供的信息)
我看过WinRT,似乎没有很多信息可用于桌面应用程序.我也不喜欢在C中创建UI本身的想法.我的目标是将数据输入和输出C应用程序并使用C#来处理UI,因为我认为这是一种更有效的WPF工作方式.
我知道P / Invoke,但我的理解是它只适用于C接口.在C 11周围创建这样的界面似乎很麻烦.
我也知道C/C++LI,但我不确定这是否符合我的需求或是否与C 11兼容.
我看了CppSharp,但它似乎是一项正在进行的工作,我怀疑我是否知道如何处理可能出现的任何问题.
我有很多使用C和C#的经验,但我不确定我是否缺少更好的选项,或者上述哪种方法是合理的方法.
解决方法:
我强烈推荐使用C Interop(http://msdn.microsoft.com/en-us/library/2x8kf7zx.aspx).我已经多次使用过它,它非常简单.在所有情况下,我在WinForms应用程序中使用它,而不是WPF,但我不认为这将是一个问题.您需要在内部CPP实现上创建托管包装器.您需要使用C/C++LI.而且你需要在.NET和C本机类型之间编组你的参数.有一堆辅助函数和智能指针可以帮助解决这个问题.其余代码可以是本机代码,并且可以照常编译.
内容总结
以上是互联网集市为您收集整理的在C#WPF应用程序中使用C 11库有哪些选择?全部内容,希望文章能够帮你解决在C#WPF应用程序中使用C 11库有哪些选择?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。