精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Window-rs——用Rust編寫windows原生程序

系統 Windows
微軟的最近發布了Rust for Windows v0.9。更新中包括全面的調用支持,Rust可以直接原生調用任何Windows API可以極大的拓展Rust在Windows下的開發能力和范圍。本文我們通過實例來學習Rust for Windows(windows-rs) 。

時下如果語言界要評選一個網紅的話,無疑會是Rust。Rust憑借著自己出色的安全性和高效性被各大平臺所接納,Linux內核,安卓底層開發,Windows底層開發相繼都采納并給出了對應的借口。微軟的Windows也是,最近發布了Rust for Windows v0.9。更新中包括全面的調用支持,Rust可以直接原生調用任何Windows API可以極大的拓展Rust在Windows下的開發能力和范圍。本文我們通過實例來學習Rust for Windows(windows-rs) 。

概述

本次更新提供了很多新的特性和更新,根據官方的信息包括:

  • 添加了對Win32和COM API的支持,統一了Windows板條箱。這些Windows API有新的項目win32metadata來添加。為了方便和統一,項目名稱由“Rust/WinRT”更改為“Rust for Windows”。
  • 添加了幾個示例 ,演示了如何調用各種Windows API(包括Win32,COM和WinRT API)。
  • Windows 板條箱在crates.io發布,現在支持MIT或Apache雙開源版權。
  • 內置生成的binding,無需再手動編寫。
  • Windows支持在Linux上構建。
  • Win32 API的許多改進和修復,例如對數組類型,各種字符串類型和更新的元數據的支持。
  • 添加了對COM接口的更自然和慣用的支持,例如返回值,以及對涉及C樣式聯合和嵌套類型之類的其他API的支持。
  • 縮短了構建時間并改善了錯誤處理。
  • 保留原始的API大小寫,這會影響使用Windows crate的現有代碼。通過類似于QueryInterface的函數轉換為通用函數,從而可以更安全,更方便地調用許多與COM相關的函數。

環境配置

Window板條箱使用需要首先要在Windows下配置Rust開發環境,還在Rust環境的安裝也非常簡單傻瓜化。

安裝rustup

首先從Rust官方(rust-lang.org)下載安裝包rustup-init.exe(記得下載當前Windows對應的32位或者64位版本)。

然后直接執行安裝包,安裝程序為自動配置好系統路徑,以后就可以直接在命令行下使用了,比如cargo包管理器。

安裝C++ build tools

Windows下的rust編譯還依賴Microsoft C++ build tools工具,不安裝,后面在編譯時,會報錯說“link.exe”無法找到。

需要從微軟VS下載出下載vs_buildtools,選中C++工具和Windows SDK組件并安裝。

安裝VS Code及其Rust插件

另外,為了方便一般建議安裝VS Code及其Rust插件:

crates-io國內源

配置Rust 板條箱的國內源,由于官方crates-io國內下載太慢,甚至容易失敗,所以先配置國內源(比如ustc)

在用戶目錄C:\Users\CC\.cargo創建一個config文件,內容配置為:

示例

首先,通過cargo創建一個新的Rust項目:

  1. cargo new hello-chongchong 

以上命令這將創建一個新目錄并hello-chongchong創建基本項目框架目錄和文件。

進入該目錄,并使用--lib 命令嵌套創建依賴的庫項目:

  1. cargo new --lib bindings 

然后通過

  1. code . 

在VS Code打開該項目,截圖如下:

修改項目Cargo.toml文件中,添加以下依賴項,依賴項告訴Cargo現在它依賴于新創建的win庫。

  1. [dependencies] 
  2. bindings = {path = " bindings"

現在,在win文件夾下的Cargo.toml文件中,添加對Windows板條箱的依賴項,版本指定為最新的0.9.1。這樣就可以通過允許Cargo打包下載,構建和緩存Windows支持。

  1. [dependencies] 
  2. windows = "0.9.1" 
  3. [build-dependencies] 
  4. windows = "0.9.1" 

然后在bindings目錄下創建一個新的源文件build.rs,并輸入一下源碼:

  1. // build.rs 
  2. fn main() { 
  3. windows::build!( 
  4. Windows::Win32::WindowsAndMessaging::MessageBoxA 
  5. ); 

在代碼中,使用 windows::build 宏指定要使用的類型,可以再次列出需要使用的所API,Windows板條箱將直接元數據生成必要的綁定。

然后修改win/src目錄中為以下代碼:

  1. windows::include_bindings!(); 

這樣,就可以在主項目main.rs文件中,任意調用指定的Windows API。此處我們創建一個“Hello Chongchong!”消息對話框。

  1. use bindings::Windows::Win32::WindowsAndMessaging::{MessageBoxA, MESSAGEBOX_STYLE}; 
  2. fn main() { 
  3. unsafe { 
  4. MessageBoxA(None, "Hello Chongchong!", "Message", MESSAGEBOX_STYLE::MB_OK); 

注意,任何Win32函數和COM接口方法,都需要用unsafe方式調用。

然后通過cargo build編譯該項目,并通過cargo run 會彈出一下對話框。

新版本的板條箱中再帶了幾個例子,可以在windows-rs項目倉庫的examples目錄。

總結

Rust for Windows 給rust在Windows開發應用帶來了福音,雖然一些API可能早就被廣泛地使用了,但是現在有了官方的支持,可以在文檔、示例和穩定性等各方面都有極大的改善。

 

責任編輯:趙寧寧 來源: 今日頭條
相關推薦

2023-09-26 19:20:09

微軟開源windows

2023-06-19 14:14:24

Rust程序Web

2023-06-23 14:15:09

Rust編程

2021-06-03 07:45:25

Rust Git 終端 UI

2017-08-03 08:34:54

gRPCCRust

2021-04-29 08:00:00

Windows微軟安全

2011-05-17 14:53:35

C

2011-06-16 10:09:25

QT Windows DLL

2009-08-14 15:06:08

Windows服務程序

2012-01-09 13:55:35

Java

2023-08-31 08:33:57

sudo-rs程序Unix

2023-06-12 08:00:48

Napi-rsRust 前端工具

2024-09-26 15:40:06

2022-02-07 16:40:12

RustGNU Coreut命令

2011-06-27 13:57:42

JavaScript

2009-10-21 09:28:34

Windows 7程序鎖

2024-06-10 23:07:05

2011-11-23 09:06:00

2023-09-25 15:30:14

云原生云計算

2016-03-31 11:31:02

Ubuntu on W微軟Windows 10
點贊
收藏

51CTO技術棧公眾號

理论片午夜视频在线观看| www.日本精品| 青青久久精品| 日韩精品影视| 91精品国产欧美一区二区18| 大桥未久一区二区三区| 欧美一级淫片aaaaaa| 美女国产一区| 久久精品人人爽| 男女超爽视频免费播放| 美女做暖暖视频免费在线观看全部网址91| 日韩影院精彩在线| 欧美不卡视频一区发布| 亚洲激情 欧美| 久久99国产精品二区高清软件| 依依成人精品视频| 日韩精品电影网站| 亚洲国产精品18久久久久久| 日韩中文字幕不卡| 欧美激情欧美激情在线五月| 亚洲第一综合网| 97品白浆高清久久久久久| 在线观看日韩av先锋影音电影院| 福利在线小视频| 国产裸体无遮挡| 欧美国产一级| 日韩av影视综合网| 激情图片中文字幕| 欧美福利在线播放| 亚洲不卡在线观看| 成人性做爰片免费视频| 国产乱视频在线观看| 水蜜桃久久夜色精品一区的特点| 久久久av一区| 欧美老女人性生活视频| 美女福利一区| 欧美第一区第二区| 天堂在线中文在线| 福利精品一区| 欧美性猛交xxxx久久久| 亚洲色成人www永久在线观看| 中文字幕在线视频区| 久久影院午夜论| 国产日韩欧美一区二区三区四区 | 一本一本久久a久久精品综合麻豆| 久久香蕉视频网站| 国产人成网在线播放va免费| 国产欧美日韩在线视频| 欧美日韩在线精品| 日韩午夜影院| 亚洲国产精品日韩专区av有中文| 亚洲国产精品视频在线观看| 日韩精品xxxx| 2020国产在线| 亚洲第一福利一区| av在线com| 在线h片观看| 亚洲黄色尤物视频| 男人日女人的bb| 亚洲男同gay网站| 一区二区三区精品| 久久伊人一区二区| 亚洲av毛片成人精品| 99久久婷婷国产综合精品电影| 欧美一区二区三区艳史| 久久久国产高清| 国产女优一区| 日本三级韩国三级久久| 加勒比在线一区| 日韩精品福利网| 国产精品久久久久一区二区 | 日韩伦理电影网站| 亚洲一区二区黄色| 日本十八禁视频无遮挡| segui88久久综合9999| 一区二区三区四区亚洲| 国产精品嫩草影院精东| 国产福利一区二区精品秒拍| 中文字幕精品一区| 成人激情av在线| 国产又粗又猛视频| 亚洲美女一区| 奇米影视亚洲狠狠色| 久久久久久无码精品大片| 日韩不卡手机在线v区| 国产一区二区香蕉| 丰满人妻一区二区三区免费视频| 北条麻妃一区二区三区| 国产精品久久av| 91成品人影院| 丰满放荡岳乱妇91ww| 国产精品户外野外| 一卡二卡三卡在线观看| 国产99精品国产| 裸模一区二区三区免费| 一级毛片视频在线| 亚洲韩国精品一区| 无码无遮挡又大又爽又黄的视频| 日韩福利在线观看| 亚洲国产古装精品网站| 免费成人深夜天涯网站| 欧美视频一区| 国产91精品在线播放| 99免费在线视频| 久久久久久免费毛片精品| 在线天堂一区av电影| 黄色羞羞视频在线观看| 91电影在线观看| 成人一区二区三区仙踪林| 日本久久一区| 亚洲精品suv精品一区二区| 手机av在线不卡| 日韩视频二区| 91色p视频在线| 婷婷五月综合激情| 亚洲人成网站影音先锋播放| 欧美牲交a欧美牲交| 国产95亚洲| 亚洲美女视频网| 久久在线视频精品| 精品一区二区三区香蕉蜜桃| 久久精品二区| 国产精品探花在线| 欧美美女直播网站| 波多野结衣a v在线| 欧美午夜视频| 91在线视频一区| 黄色网址在线播放| 亚州成人在线电影| 亚洲一区二区图片| 日韩精品dvd| 国产精品99久久久久久久久| 免费看黄网站在线观看| 一区二区在线观看免费视频播放| 国产一区二区三区精彩视频 | 777电影在线观看| 欧美日韩国产色| 四虎成人免费视频| 亚洲午夜精品一区 二区 三区| 国产精品观看在线亚洲人成网| 日韩一级片免费看| 亚洲一卡二卡三卡四卡| 善良的小姨在线| 91九色精品| 国产精品欧美日韩久久| 国产一级免费在线观看| 狠狠躁夜夜躁人人爽超碰91| 插我舔内射18免费视频| 欧美日韩三区| 99在线观看视频| 三级福利片在线观看| 日韩三级.com| 激情综合网五月天| 欧美日韩国产在线一区| 国产原创欧美精品| 欧美黄色激情| 欧美精品色一区二区三区| 91社区视频在线观看| 免费精品视频最新在线| 亚洲精品在线免费| 未满十八勿进黄网站一区不卡| 色老头一区二区三区| 亚洲天堂视频网| 成人av在线网| 久久综合久久网| 鲁大师精品99久久久| 欧美一级免费视频| 成人不用播放器| 樱桃视频在线观看一区| 色婷婷狠狠18禁久久| 黄色av日韩| 精品日本一区二区三区在线观看| 日本三级一区| 中文字幕久热精品在线视频| 一级淫片免费看| 亚洲制服丝袜一区| aaaaa一级片| 男男成人高潮片免费网站| 一区二区三区四区久久| 高清一区二区三区| 亲子乱一区二区三区电影 | 波多野结衣欧美| 国产精品第8页| caopo在线| 日韩激情在线视频| 一级片视频免费| 亚洲成人福利片| 国产一二三四区在线| 国产一区91精品张津瑜| 大陆极品少妇内射aaaaa| 日韩欧美精品一区| 国产日韩精品推荐| 日本成人一区二区| 欧美一级电影在线| 91三级在线| 亚洲欧美国产精品专区久久| 国产日韩欧美一区二区东京热 | 国模私拍一区二区| 亚洲一区二区三区国产| 亚洲av成人无码久久精品| 国产成人亚洲综合a∨婷婷图片| 日韩中文一区二区三区| 久久av网站| 日本久久久久久久久| 菠萝菠萝蜜在线视频免费观看| 精品视频中文字幕| 国产尤物在线观看| 欧美日韩中文字幕在线| 秋霞网一区二区三区| 97精品久久久午夜一区二区三区| 欧美精品成人网| 中文字幕一区二区三区乱码图片 | 日韩精品在在线一区二区中文| 成人午夜888| 欧美与黑人午夜性猛交久久久| 性直播体位视频在线观看| 日韩精品中文字幕在线观看 | 麻豆国产欧美一区二区三区| 日韩亚洲欧美一区二区| 国产乱码精品一区二区亚洲| 亚洲综合在线中文字幕| 午夜日韩成人影院| 91超碰caoporn97人人| 在线视频三区| 日韩精品视频免费| 最新中文字幕免费| 欧美午夜美女看片| 国产大学生自拍| 日本一区二区三区在线不卡| 亚洲天堂av一区二区| 三级在线观看一区二区| 免费看欧美一级片| 久久99高清| 久久精品人人做人人爽电影| 国产一区二区三区视频在线| 国产成人综合av| 欧美香蕉视频| 91精品国产高清自在线看超| а√中文在线8| 久久成年人视频| av中文在线| 亚洲人午夜精品| 色婷婷激情五月| 日韩精品一区二| 国产视频第一页| 欧美揉bbbbb揉bbbbb| 毛片aaaaaa| 99久久er热在这里只有精品66| 国产农村妇女精品久久| 麻豆国产欧美一区二区三区| 国产亚洲视频一区| 麻豆精品视频在线观看免费| 99草草国产熟女视频在线| 视频一区国产视频| aaa毛片在线观看| 国产亚洲一级| 久草精品在线播放| 丝袜亚洲另类欧美综合| 天天摸天天碰天天添| 亚洲欧美bt| 欧美三级午夜理伦三级| 日韩中文字幕麻豆| 黄色国产小视频| 日本欧美一区二区在线观看| 欧美性大战久久久久xxx | 91高清免费视频| 久久青青色综合| 欧美精品videossex性护士| 国产免费拔擦拔擦8x在线播放 | 亚洲成**性毛茸茸| 亚洲欧美日韩动漫| 亚洲美女www午夜| 福利在线午夜| 亚洲欧美日本精品| 午夜在线观看视频| 久久亚洲精品视频| 欧美人与牲禽动交com| 欧美亚洲另类视频| 3d欧美精品动漫xxxx无尽| 国产精品国产三级国产aⅴ9色 | 日韩一级网站| 一区二区三区韩国| 久久成人免费日本黄色| 中文字幕av一区二区三区人妻少妇 | 麻豆mv在线看| 欧洲精品在线视频| aaaa欧美| 狠狠色综合欧美激情| 免费视频国产一区| 亚洲成人18| 亚洲大全视频| 国产免费观看高清视频| 噜噜噜91成人网| 少妇一级淫免费放| 成人av资源站| 美女被到爽高潮视频| 国产精品美女久久久久av爽李琼| 久久免费看少妇高潮v片特黄| 亚洲国产aⅴ天堂久久| 免费黄色网址在线| 欧美私人免费视频| 天天干,天天操,天天射| 国产一区二区三区在线看| 黄色片网站在线| 日韩暖暖在线视频| 国产日韩欧美中文在线| 精品国产乱码久久久久| 亚洲精品小说| 无码aⅴ精品一区二区三区浪潮 | 最新国产精品久久精品| 久久国产精品二区| 图片区日韩欧美亚洲| 97精品人妻一区二区三区| 精品国产乱码91久久久久久网站| 国产三级在线免费观看| 91精品成人久久| 亚洲在线资源| 欧美精品成人一区二区在线观看| 欧美日本在线| 狠狠躁狠狠躁视频专区| 99精品欧美一区二区三区小说 | 婷婷久久国产对白刺激五月99| 国产二区视频在线| 国产精品自产自拍| 久久精品—区二区三区舞蹈| 亚洲综合色婷婷| av中文字幕免费| 在线观看亚洲区| 天堂中文在线播放| 精品久久久久久综合日本| 久久久久av| 男女污污的视频| 成人av综合在线| 特级片在线观看| 欧美丝袜丝交足nylons| 国产高清第一页| 欧美另类第一页| 91丨精品丨国产| 日本午夜精品电影| 久久久久久亚洲精品杨幂换脸| 国产人妻黑人一区二区三区| 亚洲福利一二三区| 国产高中女学生第一次| 久久精品国产一区二区电影| 伦一区二区三区中文字幕v亚洲| 看高清中日韩色视频| 在线成人国产| 精品久久久久久无码中文野结衣| 久久99精品国产麻豆婷婷| 熟女俱乐部一区二区| 色综合久久久久综合体| 国产一级在线| 国产91精品在线播放| 亚洲免费福利一区| 天堂社区在线视频| 欧美激情一区二区三区在线| 国产又爽又黄的视频| 亚洲色图13p| 国偷自产一区二区免费视频| 国产一区二区三区无遮挡| 国产日韩欧美在线播放不卡| 日本一卡二卡在线| 亚洲高清免费在线| 国产午夜在线观看| 国产精品va在线播放| 国产精品久久久久久久久妇女 | 米奇777在线欧美播放| 蜜桃精品成人影片| 欧美在线你懂得| 在线观看a视频| 国产欧美精品在线播放| 国产美女撒尿一区二区| 男的插女的下面视频| 风间由美一区二区三区在线观看| 青青操免费在线视频| 亚洲欧美成人网| 四虎4545www精品视频| 成人羞羞视频免费| 亚洲全部视频| av网站有哪些| 欧美日韩大陆在线| 黄色av电影在线播放| 亚洲jizzjizz日本少妇| 亚洲作爱视频| 黄色片在线观看免费| 欧美一级二级三级乱码| a级大胆欧美人体大胆666| 免费不卡亚洲欧美| 久久精品国内一区二区三区| 四虎影院中文字幕| 日韩成人在线视频| 9.1麻豆精品| 精品国产一区二区三区无码| 99精品热视频| a天堂视频在线| 97涩涩爰在线观看亚洲| 热久久天天拍国产| 日本一级片在线播放| 欧美系列亚洲系列| 麻豆成全视频免费观看在线看|