在Rust中能調整變數是否可以被更改,只要在變數前面加個mut即可。,當借用的概念加上變數的可修改(mut),延伸出了很多各種不同的場景。 let mut x...
環境 OS: Windows 10Editor: Visual Studio CodeRust version: 1.63.0 Rust中的enum 之前介紹R...
環境 OS: Windows 10Editor: Visual Studio CodeRust version: 1.63.0 定義與實例化 程式寫到一定時候,...
這是一份 Rust的入門指南. 我們從第一開始就是以 "你是個其他程式語言國度來的旅人" 作為前提展開這些課程. 實際上更可以說筆者是來自於...
環境 OS: Windows 10Editor: Visual Studio CodeRust version: 1.63.0 Continue... 昨天認識...
環境 OS: Windows 10Editor: Visual Studio CodeRust version: 1.63.0 簡述 不同語言有著不同的記憶體管...
環境 OS: Windows 10Editor: Visual Studio CodeRust version: 1.63.0 如何定義函式 在Rust中,定義...
環境 OS: Windows 10Editor: Visual Studio CodeRust version: 1.63.0 目標 如同之前一樣,對於一些明確...
環境 OS: Windows 10Editor: Visual Studio CodeRust version: 1.63.0 Continue... 關於昨天...
環境 OS: Windows 10Editor: Visual Studio CodeRust version: 1.63.0 概述 認識一門新的程式語言,必免...
環境 OS: Windows 10Editor: Visual Studio CodeRust version: 1.63.0 開篇廢話 不知不覺今年是參加鐵人...
前言 Rust 是一個現代版的 C/C++ 程式語言,它加入物件導向、套件安裝(cargo)、函數式程式設計(Functional Programming)、W...
在實際的硬體上,開機後執行的第一道指令已經燒錄在ROM上面,對於CPU來說程式在開機時就已經位於位址空間的某處,但對於我們的模擬器來說,開機後的記憶體是一片空白...
CPU指令可以分成兩大類,一是操作CPU內部暫存器的算術邏輯指令,一是存取記憶體,也就是所謂的load/store指令。要模擬算術邏輯指令,用先前所定義的Cor...
這次要來實作指令decoder,負責pipeline中的decode stage。計組教科書上常見的pipeline架構依序為:fetch、decode、exe...
使用Spike執行RISC-V gnu toolchain編譯出來的ELF檔,就可以得到完整執行此EFL檔需要用到哪些指令。利用script統計後可以得到如下結...
有了基本檔案架構後,開始動工指令的部分。RISC-V將指令分成數個子集,其中包括RV32I、RV32E、RV64I、RV128I四套整數指令集,以及約14套擴充...
這次要來談的是Rust的測試框架,並且重新調整目錄架構。 撰寫測試 Rust本身就自帶測試框架,無須安裝額外library,這邊直接把上次所寫的main改寫成t...
這次要實作的是 RISC-V 的核心基本架構。RISC-V提供了32個integer register用作基本的算術邏輯運算,如下圖: 以 Rust 的stru...
工作之餘興起開發side project的念頭,幾經思考後決定以Rust語言撰寫一個基本的RISC-V模擬器,這兩項技術之前都從未接觸,是個學習新知的好機會。...
新場景股份有限公司為台灣第一家以網路垂直領域意見領袖(a.k.a 網紅)作為標籤的快銷品公司,公司成立於 2019 年,為新媒體網紅解決方案提供方 PressP...
最近在寫一些 side project 時碰到了一些 bug ,這個時候除了用 println! 大法外,如果有好好的寫 log 或許也會比較容易知道發生了什麼...
寫在前面 雖然C/C++非常相近,但如果要在兩者中間拉一條線 那中間一定可以放下golang跟rust 這兩個經常被互相比較的語言其實各自走了C跟C++的道路...
這篇要來介紹一個很強大的系統呼叫 ptrace 它可以用來中斷別的程式,讀取與寫入別的程式的資料,它的用途基本上就是拿來實作除錯器,當然除錯器並不是只要能暫停程...
這篇來談談執行緒 (thread) 與 thread local storage (TLS) ,雖說是這樣,但事實上主要是想來看看 TLS 是怎麼運作的,不過在...
今天是鐵人賽的最後一天了。老實說每天要四個語言實在是有點太高估自己的時間狀況,加上 Context Switch 的成本,導致過程之中許多時候都只能先寫部分再慢...
今天要來看看一個大家應該不會太陌生,但對我來說每次只要一久不用就會忘掉的正規表示式 (Regular expression)。正規表示式在處理複雜規則的字串很有...
各位好~雖然今天是挑戰的最後一天但是筆者還是會把這個系列介紹完,下面是目前的進度。 Struct Managing Growing Projects with...
還記得上一篇我們寫到一半的 Modules 介紹嗎?今天要來把剩下的部分給補完。 那麼就開始吧! Exposing Paths with the pub Key...
各位好,連假結束了不知道各位禮拜一的心情如何呢? 那麼今天的主題是 Modules 應該也是還蠻輕鬆的,下面是這個說明&補充系列的進度條,希望趕快結束他,感覺...