关于在vscode中的Linux 0.11 应用程序项目的生成和运行

首先我们需要需要查看镜像文件

查看软盘镜像文件 floppyb.img 中的内容
在 VSCode 的“Terminal”菜单中选择“Run Build Task...”,会在 VSCode 的顶部中间位置弹出一个
可以执行的 Task 列表,选择其中的“打开 floppyb.img”后会使用 Floppy Editor 工具打开该项目中的
floppyb.img 文件,用于查看软盘镜像中的文件。其中的 linuxapp.exe 文件就是刚刚生成的 Linux 0.11
应用程序,可以注意查看一下该文件的修改日期,如图 1-4 所示。查看完毕后关闭 Floppy Editor。
在 VSCode 的“Terminal”菜单中选择“Run Build Task...”,会在 VSCode 的顶部中间位置弹出一个
可以执行的 Task 列表,选择其中的“打开 floppyb.img”后会使用 Floppy Editor 工具打开该项目中的
floppyb.img 文件,用于查看软盘镜像中的文件。其中的 linuxapp.exe 文件就是刚刚生成的 Linux 0.11 应用程序。如果没有的话可以手动添加进去
Linux 0.11 启动后,在 Bochs 的 Display 窗口的终端中使用“mcopy b:linuxapp.exe
linuxapp”命令将软盘 B 中的可执行文件 linuxapp.exe 拷贝到硬盘的当前目录中,并命名为
linuxapp
在终端输入“linuxapp”命令运行上一步拷贝的文件 linuxapp,此时会提示“无法运行二进制文
件”信息,原因是 linuxapp 文件没有可执行权限。使用“ls -l linuxapp”命令查看该文件
的权限,可以看到其只有 r(read)和 w(write)权限,而没有 x(execute)权限
使用“chmod +x linuxapp”命令使之具有可执行权限。再次使用 ls 命令确认文件权限修改后,
就可以运行该文件了
接下来我们讲如何 在 Linux 0.11 操作系统中编写应用程序
首先我们在Linux 0.11 启动完毕后,在其终端中使用下列命令创建
一个 newapp 文件夹,并进入该文件夹
使用 vi 创建一个源代码文件 add.c,在其中定义一个函数 int add(int x, int y),计算并返回
两个参数之和
进入页面后:
后面编写程序:
注意3点最基础操作:
1.随意按一个值为唤醒写操作,就可以在里面输入代码了
2.如果输错了,需要按电脑左上角esc退出,然后调整左右光标到对应的那一个字符按x删除,再进入编辑模式同第一点
3.按esc后输入:和wq退出保存
其余操作可以看其他vi编辑器操作
删除文本的命令可以分为删除单个字符和删除多个字符两类。其中,删除单个字符的命令包括下面两种情况。
x 命令:删除光标处的字符。若在 x 之前加上一个数字 n,则删除从光标所在位置开始向右的 n 个字符。
X 命令:删除光标前面的字符。若在 X 之前加上一个数字 n,则删除从光标前面那个字符开始向左的 n 个字符。删除多个字符的命令包括下面几种情况。
dd 命令:该命令删除光标所在的整行。在 dd 前可加上一个数字 n,表示删除当前行及其后 n-1 行的内容。
D 命令或 d$ 命令:两个命令功能一样,都是删除从光标所在处开始到行尾的内容。
d0 命令:该命令删除从光标前一个字符开始到行首的内容。
dw 命令:该命令删除一个单词。若光标处在某个词的中间,则从光标所在位置开始删至词尾。同 dd 命令一样,可在 dw 之前加一个数字n,表示删除 n 个指定的单词。
d( 命令:该命令删除到上一句开始的所有字符。
d) 命令:该命令删除到下一句开始的所有字符。
d} 命令:该命令删除到上一段开始的所有字符。
d{ 命令:该命令删除到下一段开始的所有字符。
d<CR> 命令:该命令(<CR>表示回车)删除包括当前行在内的两行字符

退出保存后像上一步那样写main.c

vi main.c

然后写代码:

下面编写 makefile 文件管理项目

Make 工具可以用来管理一个项目中多个源代码文件的编译和链接过程,也可以用来管理多个模块间的
依赖关系,甚至是软件的安装过程。
控制台vi makefile,然后写以下代码:

:wq退出后记得sync保存到本地磁盘

并在 Linux 0.11 的终端使用下面的命令将刚刚编写的文件复制到软盘 B 中
mcopy add.c b:add.c
mcopy main.c b:main.c
mcopy makefile b:makefile

最后关闭闭 Bochs 虚拟机

在打开floppyb.img镜像文件,可以看到:

大功告成!

以上为个人学习心得,有误请指出,感谢不尽!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/74492.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用CSS3实现炫酷的3D视差滚动效果

使用CSS3实现炫酷的3D视差滚动效果 这里写目录标题 使用CSS3实现炫酷的3D视差滚动效果项目概述核心技术实现1. 3D空间的创建2. 视差层级设置3. 动画效果实现流星动画月亮发光效果 技术难点与解决方案1. 层级重叠问题2. 性能优化3. 响应式适配 开发心得总结 项目概述 在这个项目…

作业12 (2023-05-15 指针概念)

第1题/共11题【单选题】 关于指针的概念,错误的是:( ) A.指针变量是用来存放地址的变量 B.指针变量中存的有效地址可以唯一指向内存中的一块区域 C.野指针也可以正常使用 D.局部指针变量不初始化就是野指针 回答正确 答案解析: A:正确,指针变量中存储的是一个地址,指…

【ESP32S3】esp32获取串口数据并通过http上传到前端

通过前面的学习&#xff08;前面没发过&#xff0c;因为其实就是跑它的demo&#xff09;了解到串口配置以及开启线程实现功能的工作流程&#xff0c;与此同时还有esp32作为STA节点&#xff0c;将数据通过http发送到服务器。 将这两者联合 其实是可以得到一个&#xff1a;esp32获…

《鸿蒙携手AI:解锁智慧出行底层逻辑》

在科技飞速发展的当下&#xff0c;智慧出行成为人们对未来交通的美好期许&#xff0c;而鸿蒙系统与人工智能的深度融合&#xff0c;正为这一愿景的实现提供强大助力。从技术原理角度深入剖析&#xff0c;鸿蒙系统究竟如何支撑人工智能在智慧出行场景中的应用呢&#xff1f;这背…

MyBatis-Plus缓存机制深度解析与SpringBoot整合实战

一、MyBatis-Plus缓存机制全景解析 MyBatis-Plus在MyBatis原生缓存基础上进行了深度增强,形成了多层次的缓存体系: 1. 缓存层级架构 应用层 ├── MP扩展缓存(多租户/逻辑删除) ├── 二级缓存(Mapper级别,跨Session共享) └── 一级缓存(SqlSession级别,默认开…

Day38 | 1365. 有多少小于当前数字的数字、941. 有效的山脉数组、1207. 独一无二的出现次数、283. 移动零、189. 轮转数组

1365. 有多少小于当前数字的数字 题目链接&#xff1a;1365. 有多少小、于当前数字的数字 - 力扣&#xff08;LeetCode&#xff09; 题目难度&#xff1a;简单 代码&#xff1a; class Solution {public int[] smallerNumbersThanCurrent(int[] nums) {Map<Integer,Inte…

数据人的进阶之路:四年数仓实践与成长思考

前言 在数据仓库开发的过程中&#xff0c;常常会遇到很多值得思考的问题&#xff0c;它们不仅关乎技术的深度&#xff0c;也涉及业务理解、个人的成长&#xff0c;甚至是数据行业未来的价值。回顾过去的经历&#xff0c;有很多问题反复出现&#xff0c;甚至成为绕不开的课题&am…

大文件分片上传及断点续传实现

使用 支持分片上传及断点续传 前端使用 vue 2 后端使用 springboot 源码在私信

图解AUTOSAR_SWS_IOHardwareAbstraction

AUTOSAR IO硬件抽象层详解 基于AUTOSAR标准的IO硬件抽象层设计与实现指南 目录 1. 概述2. 架构设计 2.1 模块架构概览2.2 内部组件结构2.3 与其他模块的交互接口 3. 状态机 3.1 状态定义3.2 状态转换3.3 状态行为 4. ADC信号处理流程 4.1 初始化流程4.2 转换请求和处理4.3 通知…

Python正则表达式(一)

目录 一、正则表达式的基本概念 1、基本概念 2、正则表达式的特殊字符 二、范围符号和量词 1、范围符号 2、匹配汉字 3、量词 三、正则表达式函数 1、使用正则表达式&#xff1a; 2、re.match()函数 3、re.search()函数 4、findall()函数 5、re.finditer()函数 6…

北京交通大学第三届C语言积分赛

作者有言在先&#xff1a; 题解的作用是交流思路&#xff0c;不是抄作业的。可以把重点放在思路分析上而不是代码上&#xff0c;毕竟每个人的代码风格是不一样的&#xff0c;看别人的代码就跟做程序填空题一样。先看明白思路再看代码。 还有就是&#xff0c;deepseek真的很好用…

机器学习之条件概率

1. 引言 概率模型在机器学习中广泛应用于数据分析、模式识别和推理任务。本文将调研几种重要的概率模型,包括EM算法、MCMC、朴素贝叶斯、贝叶斯网络、概率图模型(CRF、HMM)以及最大熵模型,介绍其基本原理、算法流程、应用场景及优势。 2. EM算法(Expectation-Maximizati…

硬件基础--03_电流

电流 十九世纪初:[电流方向]是指正电荷的移动方向。 后来:对于金属导体&#xff0c;正电荷没移动&#xff0c;其实是电子在移动。 为了定义的统一性[电流方向]仍然定义为正电荷的移动方向 所以:[电流方向]与[电子移动方向]是相反的。 概念:电荷的定向移动&#xff0c;形成了电…

multi paxos协议

1. Redo Log 同步的核心目标 ​数据一致性&#xff1a;确保所有副本在事务提交后具有相同的数据视图。​容错性&#xff1a;在主副本故障时&#xff0c;从副本能快速接管并恢复数据。​高吞吐&#xff1a;通过批量同步和并行处理提升效率。 2. Multi Paxos 协议的同步流程 M…

借壹起航东风,中国工厂出海开启新征程

在经济全球化不断深入的当下&#xff0c;中国工厂正以积极的姿态投身海外市场&#xff0c;渴望在全球商业版图中占据一席之地&#xff0c;绽放独特的光彩。然而&#xff0c;出海之路充满了挑战与艰辛&#xff0c;品牌塑造困难重重、询盘量不稳定、营销成本居高不下等问题&#…

【MySQL】监控MySQL

目录 使用状态变量监控MySQL 使用性能模式&#xff08;Performance Schema&#xff09;监控MySQL 1.性能模式 2.性能模式设置表 3.sys模式 使用状态变量监控MySQL 使用 show status 语句评估系统运行状况。 可以添加范围修饰符global或session来显示全局或本地状态信息。…

在linux系统上卸载并重新安装Docker及配置国内镜像源指

前言 Docker 作为容器化技术的核心工具&#xff0c;广泛应用于开发、测试和部署环境。但在某些情况下&#xff08;如版本冲突、配置错误等&#xff09;&#xff0c;可能需要彻底卸载并重新安装 Docker。此外&#xff0c;国内用户直接访问 Docker 官方镜像源可能速度较慢&#…

Mysql内置函数篇

&#x1f3dd;️专栏&#xff1a;Mysql_猫咪-9527的博客-CSDN博客 &#x1f305;主页&#xff1a;猫咪-9527-CSDN博客 “欲穷千里目&#xff0c;更上一层楼。会当凌绝顶&#xff0c;一览众山小。” 目录 7.函数 7.1 日期函数 函数总&#xff1a;​编辑 获得当前日期 获得…

小爱控制OK影视搜索视频

在adb connect ip以后&#xff0c;可以这样打开Ok影视&#xff0c;并且进行控制 pm list packages -3 #只显示第三方 dumpsys package com.fongmi.android.tv |grep Activity #返回 com.fongmi.android.tv/.ui.activity.HomeActivity am start -n com.fongmi.android.tv/.u…

电机倍频曲线的一些奇异特性-原因分析及应用

这里对感应电机倍频曲线的特征进行了说明&#xff0c;然后将其特性用于电机转差率和工况的测量。先给出可以直接利用的结论&#xff1a; 电机的工况和转差率谱线会体现为5x,7x谱线调制在基频附近。两条调制过携带s信息的谱线距离基频谱线的距离。 与真实转速相对同步转速的频差…