首页 > 编程语言 >0182-独立可执行程序

0182-独立可执行程序

时间:2024-07-15 09:23:03浏览次数:9  
标签:no 0182 独立 game main panic 可执行程序 Rust

环境

  • Time 2022-11-12
  • WSL-Ubuntu 22.04
  • QEMU 6.2.0
  • Rust 1.65.0

前言

说明

参考:https://os.phil-opp.com/freestanding-rust-binary

目标

当前为新的篇章,参考的原文第二版,和之前的第一版不关联。
使用 Rust 编写一个独立可执行程序,即不依赖操作系统的程序。
其中的概念和错误的解决方式可以参考原文,有中文翻译。

main.rs

#![no_std]
#![no_main]

#[no_mangle]
pub extern "C" fn _start() -> ! {
    loop {}
}

#[cfg(not(test))] // 避免 vscode 提示错误
#[panic_handler]
fn panic(_info: &core::panic::PanicInfo) -> ! {
    loop {}
}

Cargo.toml

[package]
name = "mos"
version = "0.1.0"
edition = "2021"

[dependencies]


[profile.dev]
panic = "abort"

[profile.release]
panic = "abort"

编译

root@jiangbo12490:~/git/game# cargo build --target thumbv7em-none-eabihf
   Compiling mos v0.1.0 (/root/git/game)
    Finished dev [unoptimized + debuginfo] target(s) in 0.23s

总结

使用 Rust 编写了一个独立可执行程序。

附录

标签:no,0182,独立,game,main,panic,可执行程序,Rust
From: https://www.cnblogs.com/jiangbo4444/p/18302427

相关文章

  • 0183-x64 平台独立程序
    环境Time2022-11-13WSL-Ubuntu22.04QEMU6.2.0Rust1.67.0-nightly前言说明参考:https://os.phil-opp.com/minimal-rust-kernel目标编译个x64平台的独立可执行程序。切换到nightly版本项目目录下新建rust-toolchain文件,文件内容为:nightly。main.rs#![no_std......
  • Linux可执行程序启动流程
    进程是如何启动的?进程启动过程示例代码#include<stdio.h>intmain(){printf("hello,world\r\n");return0;}启动两个终端,使用strace命令跟踪进程启动过程strace-f-s655000-i-T-ooutput.txt-p19510各个选项参考strace的man手册-f跟......
  • 5 SAP前台操作手册-PP模块-计划独立需求(PIR)创建、修改(删除)、显示(MD061,MD62,MD63
    0总体说明SAP实施项目中,到了第3个阶段-系统实现,在这个阶段,因为蓝图汇报已经结束,配置也差不多完成了,自开发还在进行中,SAP标准功能下,可以进行基础业务的前台操作了,在实现阶段的末端,客户指定的关键用户(俗称KU-KeyUser)会进行前台业务操作和练习,提高熟练程度,同时需要在外部SAP顾......
  • 独立开发者手册(一):打造小而美系统的原则
    在独立开发或小团队开发软件时,资源通常很有限,或者时间周期紧,系统的主要目标是探索和用户验证,通过打造一个“小而美”的系统既能提高效率,又能减少开发和维护的成本。那么,如何开发一个小而美的系统呢?本系列文章,希望探讨和总结一系列原则和方法。明确目标和需求在开发初期,明确......
  • 【北方工业大学承办,JPCS独立出版 (ISSN:1742-6596) | 组委会嘉宾阵容强大】2024年电力
    2024年电力系统工程与智能电网国际学术会议(PSESG2024)于2024年8月16-18日在中国·北京隆重召开。会议旨在为从事“电力系统工程”、“智能电网”、“储能技术”等领域的专家学者、工程技术人员、研发人员提供一个共享科研成果和前沿技术,了解学术发展趋势,拓宽研究思路,加强学术......
  • “好物”推荐+Xshell连接实例+使用Conda创建独立的Python环境
    目录主题:好易智算平台推荐+RTX4090DGPU实例租用演示+安装配置torch1.9.1+cuda11.1.1环境引言:算力的新时代平台介绍:技术与信任的结晶使用案例:实际使用展示创建实例开始使用连接实例(下文演示使用Xshell连接,后续传文件也有配套的sftp可以使用)sftp传文件查看服务器配置,使用C......
  • Solo 开发者周刊 (第13期):独立开发者的创新集——橘猫、记一杯与Newcar
    这里会整合Solo社区每周推广内容、产品模块或活动投稿,每周五发布。在这期周刊中,我们将深入探讨开源软件产品的开发旅程,分享来自一线独立开发者的经验和见解。本杂志开源,欢迎投稿。产品推荐1、橘猫起始页——一款不一样的浏览器标签页功能介绍极简首屏聚合搜索,支持快捷......
  • 蓝桥杯单片机学习总结(Day4 独立按键实现LED流水灯)
    标题一:实现独立按键输出标题二:实现按键输出的效果标题三:实验总结      如图所示,S7、S6、S5、S4是独立按键一列,需要注意的是如果你的开发板独立按键和矩阵键盘是一体的如上图需要把引脚盖接到独立键盘那儿。    P30~P33是矩阵键盘和独立按键的引脚在编......
  • 要将 Python 脚本制作成可执行程序,您可以使用以下几种方法:
    要将Python脚本制作成可执行程序,您可以使用以下几种方法:1.使用PyInstallerPyInstaller是一个非常流行的工具,可以将Python脚本打包成独立的可执行文件,支持Windows、macOS和Linux。您可以按照以下步骤进行操作:安装PyInstaller:复制代码pipinstallpyinstaller......
  • mongo意外关机后恢复独立设备
    磁盘级数据损坏或数据文件丢失可能会阻止 mongod实例启动,并且日志文件可能不足以自动恢复:2018-10-24T18:05:18.248-04:00WSTORAGE[initandlisten]Detecteduncleanshutdown-mongod.lockisnotempty....2018-10-24T17:24:53.122-04:00ESTORAGE[initandlisten]F......