Windows Runtime (RT)

保姆级教程:用onnxruntimeWindows/Linux上部署RT-DETR模型(附完整代码) 本文提供了一份详细的RT-DETR模型在Windows和Linux系统上的部署指南,涵盖环境配置、模型转换、ONNX Runtime部署及性能优化。通过完整的代码示例和跨平台实践,帮助开发者高效实现目标检测任务,特别适合需要兼顾实时性与精度的应用场景。 阅读详情

看了个BUILD的PPT,Windows Runtime (RT)并不是一些新闻网站说的那样微软自废.NET武功,而是恰恰相反,WinRT是Win32API的现代版,其中有很深的.NET的基因,是Metro UI的.NET基础,如果考察Metadata的变化,WinRT的API定义的元数据是基于标准ECMA 335,也就是.NET的标准 ,WinRT也是一个沙箱的环境,针对AppStore环境设计的。

基础知识

微软以推出Windows 8为契机,以解决Windows长期存在的问题,并带来了新的用户界面,使得Windows更加安全和AppStore的商业模式。微软在Windows 8 里打造了第三个 XAML-based UI 系统, WPF只是一个供 .NET 这个圈子使用的XAML UI系统 Silverlight只是给浏览器使用的XAML UI系统,Windows Phone7将Silverlight到了手机,现在将XAML带到了涵盖PC、Pad、Phone的所有系统(虽然微软认为平板也是PC,我还是想叫他Pad,用过iPad的都知道苹果所定义的Pad和PC有很大区别)。

.NET开发人员都对.NET 的P / Invoke和COM Interop 很熟悉了,这两种技术使得.NET人员可以使用Win32 API和COM组件,Mono也是使用P/Invoke技术创建原生的库,例如Gtk# 绑定到 Gtk+ API, MonoMac 绑定到Cocoa API, Qyoto 绑定到Qt API,Mono出现了MonoTouch,MonoDroid和MonoMac等等很有创新性的产品。 COM Interop 还可以使得C/C++ 从 C#导入Com类型库。

创建原生库的方法很多,但是这些工作都得是手工去做,很乏味而且容易出错,从这点来说WinRT也是一个很有创新的,可以让所有的开发者用同一个模型创建Metro UI的应用。

WinRT

WinRT是一个新的API 集合,具有以下特性:

  • 它实现了Metro UI规范的UI库
  • 为Windows开发人员提供一个简单的UI编程模型,你不需要学习Win32API的那些复杂的API了
  • 它使用XAML-base的UI系统
  • API都设计成了异步的
  • 它和.NET一样是个沙箱的API,自成体系,用于创建AppStore上的应用程序。
  • API的元数据格式是ECMA335,和.NET一样的标准。这是不是意味着以后Mono也可以在xUnit上去实现这样的API呢?

WinRT包装的新的用户界面系统,和Win32API一样是Com的上层。

WinRT Projections

我们所说的“Binding”,微软现在叫做“Projections”,又是一个新名词。Projections就是向三个环境 Native (C and C++), HTML/Javascript 和.NET 暴露接口的过程。所以在Win8上各类开发者依然可以用着不同的工具,但是却是使用着统一的模型。

如果开发者使用.NET或者C++ 写的组件,它的API被存储在一个WinMD文件里,你可以在三种环境(原生、javascript和.NET)。即使你的组件是用C++ 写的,也不需要通过COM向外暴露,使用起来更像是一个面向对象的C++ API。

WinRT的底层定义了一套基本的类型和各种环境的映射,这是不是很像.NET环境里面对不同语言的支持哈。

异步API

微软认为,当给开发者一个使用同步和异步的API的选择的时候,开发者会选择简单的同步API,这在我们的.NET 编程实践中得到证明,.NET有很成熟的异步编程模型,还有特意为并行和异步处理而设计的F#,结果是什么呢,各位同学心里有数。

在WinRT中,微软一直遵循一个简单的规则:如果一个API预计耗时超过50毫秒,那么API就是异步的,也就是说API是异步的哦,这样就能确保Metro UI上的操作体验是最好的。

异步编程历来是一个繁琐的过程,回调和状态,还有异常处理等。为了简化这个过程,C#和VB也扩展了支持 F#-inspired await/async 模型,异步编程变成了欢乐之旅。

.NET的首要地位不见了吗?

之前的新闻中一直在质疑.NET 被微软抛弃了,当然不是了。也不是所有的.NET API 都集成到了WinRT中,只是一个子集。

当你使用C#和VB,你使用的是完整的.NET框架。但是他们只暴露了一个较小的子集API给Windows 8的开发者。你可能会想,我可以通过一些技巧使用到整个.NET,如果你的程序不需要提交AppStore上接受微软的审核,这是可以的。这种策略明显是跟苹果学的。

借此机会.NET团队也对.NET做了一次清理,mscorlib.dll和System.dll中已被分割在不同的库里头了,随着Win8发布的.NET版本是4.5了,也就是说.NET 4.5不是.NET 4的简单补丁包,里头加了不少东西,ASP.NET的版本号也是4.5,不像.NET 2.0 ~3.5 SP1,ASP.net的版本还是2。0。为了在Win8里开发,开始学习.NET 4.5又是必须的了,这里关注的集中在客户端开发,同样的在服务器端开发方面.NET 4.5也加入大量的干货。

创建WinRT 组件

虽然WinRT支持很多的语言,但是微软只是用C++和.NET演示了如何开发一个WinRT组件,使用.NET来开发WinRT组件会比C++简单得多。也不是所有的.NET特性都能用上哦,比如组件类就不能使用private 字段,在异步的API里不能使用Task<T> ,要用IAsyncOperation 代替。

public sealed class AddTwo
{
       public int Add (int a, int b)
       {
           return a + b;
       }

       public async IAsyncOperation SubAsync (int a, int b)
       {
           return a - await (CountEveryBitByHand (b));
       }
   }

你会发现上述代码没有任何形式的COM声明,唯一限制的是,类必须是个密封的(除非你是在创建一个XAML UI组件,这种情形下这种限制是接触的)

UI编程

当涉及到用户界面的开发的时候,你你可以使用HTML与CSS样式或使用XAML的你的应用程序的用户界面。当你回到界面层,就可以用HTML & CSS或者是XAML UI,用HTML& Css做出来的界面就是Web了,而是一个Windows应用,早在Vista开始就有了类似的应用,Windows7上做了改进,叫做Gadgets ,Windows 8就进化到了Metero UI,和C++、.NET并驾齐驱了。

Windows8的开发框架并没有基于HTML5和JavaScript,开发者完全可以用原生C++、C#和Silverlight去开发对平板和触控友好的应用,HTML5和JavaScript只是提供了一种选择
基于RK3568与Debian系统的高效Codesys Runtime部署指南 本文详细介绍了在RK3568开发板上部署Debian系统并安装Codesys Runtime的完整流程。从硬件选型、实时内核确认,到通过SSH远程部署Runtime并进行在线调试,提供了清晰的步骤指南和常见问题解决方案,帮助开发者快速构建低成本、高灵活性的工业控制与边缘计算平台。 阅读详情

相关推荐

告别环境配置烦恼:RT-Thread Studio 2.2.7 Windows版保姆级安装与首次启动指南

本文提供RT-Thread Studio 2.2.7 Windows版的详细安装与首次启动指南,帮助开发者快速上手这一嵌入式开发工具。从环境准备、安装路径选择到创建第一个验证项目,逐步指导避开常见问题,确保顺利配置开发环境。

weixin_42524750的博客 319

Windows Runtime 基础

Windows操作系统提供了很多功能,应用程序开发者可以很容易地构建应用。本书阐述了大部分Windows功能并且提供了一些使用的最佳指导实践。Windows通过api暴露这些功能,叫做Windows Runtime(WinRT),WinRT接口可以被很种开发语言调用,包括JavaScript,本地C++和.NET的C#、VB。本书用C#描述。 Windows操作系统支持很多应用程序模型。比如,W

gnimgnot 3020

c# donet runtime 8.0安装包

解决问题:you must install .net desktop runtime

windows运行库合集(windows必备运行库)

WinRT包含了大量的通用API,可以让开发者使用多种编程语言(如C++、C#、JavaScript等)编写出具有高度可移植性和跨平台性的应用程序,包括桌面应用、移动应用和Web应用等。WinRT的应用程序运行在一个安全的沙盒环境中,有助于提高应用程序的安全性和稳定性。Windows运行库(Windows Runtime,简称WinRT)是微软为Windows 8及以上版本推出的一种新的应用程序框架,它采用了基于COM的API调用方式,并使用了新的应用程序打包和分发方式。

欢迎来到鸾姝淡月博客,专为程序员和编程爱好者打造的技术博客。我们分享编程语言趋势、开发工具、编程哲学、职业发展等,助你掌握新技术,优化技能,激发编程热情。 4922

Windows Runtime(WinRT) 揭秘

看了个BUILD的PPT,Windows Runtime (RT)并不是一些新闻网站说的那样微软自废.NET武功,而是恰恰相反,WinRT是Win32API的现代版,其中有很深的.NET的基因,是Metro UI.NET基础,如果考察Metadata的变化,WinRTAPI定义的元数据是基于标准ECMA 335,也就是.NET的标准 ,WinRT也是一个沙箱的环境,针对AppStore环境设计...

weixin_33929309的博客 381

启动应用程序出现mprmsg.dll找不到问题解决

其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个mprmsg.dll文件(挑选合适的版本文件)把它放入到程序或系统目录中,当我们执行某一个.exe程序时,相应的DLL文件就会被调用,因此将缺失的文件放回到原目录之后就能打开你的软件或游戏了.那么出现mprmsg.dll丢失要怎么解决?

wbcmbfy的博客 3180

winform4.8安装程序包 Emgu.CV.runtime.windows安装失败 出现Emgu.runtime.windows.msvc.rt.arm64”

winform4.8安装程序包 Emgu.CV.runtime.windows安装失败 出现Emgu.runtime.windows.msvc.rt.arm64”

weixin_45394356的博客 365

windows rt for linux,Rust/WinRT - Rust for the Windows Runtime

The Rust/WinRT language projectionRust/WinRT follows in the tradition established by C++/WinRT of building language projections for the Windows Runtime using standard languages and compilers, providi...

weixin_32026659的博客 331

Qt 5.3将支持Windows 8/RT (Modern UI), Windows Phone 8

What is new in Qt 5.3 Support for New Platforms Windows Runtime platforms: Windows 8/RT (Modern UI), Windows Phone 8 原文: http://qt-project.org/wiki/New-Features-in-Qt-5.3

lanhy999的专栏 1302

RT/Metro商店应用如何调用SQLite数据库

RT/Metro商店应用如何调用SQLite数据库 使用前,要安装:SQLite for Windows Runtime (Windows 8.1)(一个VS插件)、还有Visual C++ Runtime Package(如:Microsoft Visual C++ 2013 Runtime Package for Windows), 同时,项目生成要修改为X86或者X64,总之不...

a616735104的博客 116

Windows 8 应用开发与Windows Phone的几个重要不同

来看看Windows 8和Windows Phone 8开发的基本不同

可爱的程序猿 2982

避开时间跳跃坑!WinCC RT Professional系统时间安全设置指南

本文深入探讨了WinCC RT Professional系统时间安全设置的重要性与最佳实践。针对工业自动化场景,详细分析了时间跳跃对数据归档、计划任务及系统协同的严重风险,并提供了基于Windows API的安全读取、受控同步策略及NTP配置方案,指导工程师构建稳固的时间管理防线,确保数据完整性与系统稳定性。

grass的博客 375

RT-DETR-L无线表格单元格检测ONNX模型部署方案:跨平台应用完全手册

欢迎来到飞桨PaddlePaddle的RT-DETR-L无线表格单元格检测ONNX模型部署完全指南!🎯 本文将为您详细介绍如何在不同平台上部署和使用这个强大的表格单元格检测模型,让您快速上手并应用于实际项目中。RT-DETR-L_wireless_table_cell_det_onnx是一个基于Transformer架构的高效表格单元格检测模型,专门用于无线表格的单元格识别和定位。 ## 📋

gitblog_00273的博客 347

【Bug已解决】[Feature Request] Add ONNX Runtime builds and drops for Windows + clang + ASAN 解决方案

想在 Windows 上用构建 ONNX Runtime 来做内存错误检测(捕捉 use-after-free、heap-buffer-overflow 等),发现官方既没有提供这种构建产物(drop),构建脚本也不支持这个组合——直接用 clang-cl +编会失败。最坑的是现象 B:用户以为“clang 支持 ASAN,加上就行”,结果链接阶段缺,因为 Windows 下 clang 的 ASAN 运行时库路径和 Linux/macOS 不同,构建脚本没处理。

博客 25

Emgu.CV.Runtime.Windows nuget 安装失败问题解决

Emgu.CV.Runtime.Windows nuget 安装失败问题解决

chensheng8085497的博客 4781
上一篇: EssModel 和 astah community
下一篇: jira搭建资料
dengdengken888
博客等级 码龄19年 12粉丝 29原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值