抓紧搞钱!2024年程序员做副业赚钱的 25 种方法

目前全球的经济形势非常艰难,很多人开始尝试从事第二职业或做副业赚钱,作为一名开发者,我们拥有一套独特的技能,这是非常棒的优势,如果你知道从哪里开始,赚钱将不会是一件很难的事,从现在开始,行动起来吧。

1.副业接单

把自己的能力直接变成现金,这是最直接也是最常见的方式。一是利用自己的社交关系来接单,第二,通过一些软件外包服务平台来接单,远程办公的兴起,还可以让你与全球的客户合作赚钱。温馨提示,如果你还在上班,最好不要让你的公司知道你在做副业。

  • 程序员客栈:国内老牌的程序员外包接单平台,已聚集约95万程序员。
  • We work remotely:一个国外知名的自由远程工作平台,拥有450w的用户。
  • Upwork:全球最大的“外包”网站。
  • remoteOK:一个提供远程工作的平台,有很多新奇或知名公司的远程工作。
  • Fiverr :以其多元化的市场而闻名,非常适合刚开始从事自由职业的开发人员

2.API即服务

RapidAPI 等平台使您可以从 API 中赚取被动收入。构建并部署简单的 API 后,您可以将其导入 RapidAPI Hub,选择使用和定价计划,然后点击发布。

如果您正在为一个简单的第一个项目寻找灵感,请考虑将开放数据集转换为 API。把你的想法可能包括将现有包包装为 API、向其他服务(如 OpenAI)添加功能或构建执行一些简单计算的端点。
任务赏金

有一些开源项目的热门功能需求,用户会提供一些任务的“赏金”,将其支付给第一个完成并合并该功能的开发人员。

  • BOSS.dev完成功能请求和错误修复,奖金从 30 美元到 1000 美元不等。

3.赞助

如果您在 GitHub 或其他平台上有业务,那么启用赞助是一种为您的工作带来收入的有益方式。
不要忘记通过创建.github/FUNDING.yml. 这适用于各种平台以及 GitHub 赞助商

  • GitHub 赞助商对于开发人员(无论规模大小)来说都是一个不错的选择。如果支持者已经在 GitHub 上,则零费用且进入门槛低
  • Patreon 允许为您的支持者提供福利和独家内容。如果您在 GitHub 以外的其他平台上有业务,这是一个不错的选择
  • LibrePay 针对那些创建开源内容的人
  • Open Collective如果您正在为特定项目筹集资金,并使用收益来支持该项目(而不是个人),那么这是一个不错的选择
  • TideLift 更针对那些开发企业级开源项目的人,潜在收入更大,但仅限于最大的项目
  • LFX由 Linux 基金会提供

4.用户打赏

您发现某个博客文章、网站、GitHub 存储库或论坛回复非常有帮助,以至于您希望可以给作者买一杯啤酒来表示感谢。

支持这些小额一次性付款的平台可以免费注册,并且在您的个人资料中或在博客文章末尾添加“提示”按钮不会有任何损失。

5.编码竞赛

编码竞赛一直在远程进行。这些通常由公司赞助,并向获奖者支付现金奖励。

如果你对自己的编码能力有自信,可以经常参加这些编码竞赛,不仅可以赚取现金,这也是结识新朋友、学习新东西的好方法,而且非常有趣!

6.查找漏洞

如果您注重安全性,或者喜欢在应用程序中查找错误和漏洞,那么这一款就适合您。最受欢迎的平台是HackerOne,每个负责任地披露的错误都可以在其中赚取 20 到 200,000 美元的收入。

许多其他网站也直接提供负责任的披露政策,他们会奖励您的工作。如果您对此感兴趣,我在以下网址维护了 1000 多个赏金计划的列表:https: //bug-bounties.as93.net

我个人通过这种方法取得了很大的成功,而且也很有趣 - 所以我强烈推荐它!

其他值得查看的平台包括:

7.高级付费功能

这些服务可以轻松地为常见注册管理机构提供高级/付费套餐。例如,如果您希望分发 NPM 模块的高级版本,或者对特定软件包功能收费,这可能是一个不错的选择。

  • PrivJS - 分发 Node 包的高级版本
  • CodeShip - 私人注册表,用户需要付费才能使用您的包

8.粉丝支持

在开源项目中添加专业支持计划选项使客户能够支付一次性或持续的帮助和支持费用,以启动和运行。

这可以通过您自己的系统启用,也可以使用现有的赞助平台(例如 Patreon 和 GitHub Sponsors),或者使用专门的服务(例如 Otechie)来启用,Otechie通过嵌入的聊天对话框添加付费功能和支持。Calendly等工具可以让客户将时间放入您的日历中,或者对于较大的项目,投资专用的客户支持平台(如HelpScout)可能会让这变得更容易。

9.编写技术文档

即使只是记录您自己的和其他开发人员的存储库也是一个不错的起点。

如果项目被记录下来,它的价值就会大幅增加。如果没有文档,潜在用户、客户或开发人员将不知道它的用途、如何使用它、如何在其基础上构建或如何做出贡献。

  • 编写文档:是所有文档的首选位置。
  • Season of Docs : 在 Google 的支持下,每年都有技术作家为开源项目做出贡献。参与项目将获得 5,000 至 15,000 美元的赠款,然后通常通过 Open Collective 分发给贡献者。
  • scripted:版权也属于这一类。这样的服务可以让您通过校对或编辑其他文本内容来赚钱。

10.广告

广告确实很令人讨厌,并且经常涉及某种形式的跟踪,从而损害用户的隐私。但是,对于开源项目,也许有一些广告可以减少这些缺点。

如果您正在维护获得稳定流量的 GitHub 存储库、网站、博客或服务,那么这是一个不错的选择。通常每月至少需要约 10,000 个用户,但如果您每月获得 50,000 以上的用户,您将获得更好的回报。

11.出售你的代码

创造有趣的产品,编写优秀的代码,然后将其出售。

12.销售内容

这是一个常见的建议。如果您能够创建高质量的内容,就可以赚到很多钱。特别是如果您对新兴领域有深入的了解。

销售内容的热门网站包括:

  • GumRoad - 代码、课程、帖子、艺术、设计、媒体(10% 费用)
  • AppSumo - 代码、应用程序、扩展、课程、模板等

13.写作

这需要具备一定的写作能力。如果您非常擅长编写引人入胜的内容,或者您对特定的热门领域有深入的了解。这是个不错的主意。

  • LeanPub - 一个自助出版技术/开发电子书和课程的平台,具有丰厚的收入模式(您可以保留 70%)
  • Amazon KDP - 发布到 Amazon Kindle,并立即向全球数百万用户提供(亚马逊将收取至少 30% 的佣金,对于小型出版商来说可能更多)
  • SmashWordsDraft2Digital - 分发给全球其他电子书卖家,这是开始发布的简单方法。他们收取的佣金比亚马逊少,但比 LeanPub 多。

14.补助金

赠款和企业赞助涉及多个领域,包括开源、创新、DeFi、人工智能等。它们通常是为了帮助您在从事特定工作时支付短期生活费用。

  • GitHub 赞助商- 为个人和组织提供经济支持开源开发人员的平台。金额根据赞助情况而有所不同。
  • Google Summer of Code (GSoC) - 面向学生开发人员为开源项目做出贡献的全球计划,津贴通常为 1500 美元到 3300 美元不等。
  • Mozilla 开源支持 (MOSS) - 资助开源软件开发,特别是符合 Mozilla 使命的项目。
  • Linux 基金会补助金- 为从事 Linux 基金会项目的开发人员提供各种补助金和奖学金。
  • NumFOCUS 小型发展补助金- 支持数据科学和科学计算方面的小型项目。资助金额各不相同(所有申请人均分配 285,000 美元)。
  • Apache 软件基金会赞助- 对 Apache 软件项目的财务支持,重点关注 Apache 软件生态系统。
  • Outreachy - 为技术领域代表性不足的群体提供为期三个月的实习机会,津贴通常约为 5,500 美元。
  • 奈特基金会- 为促进优质新闻业的技术项目提供资助。根据项目范围的不同,赠款金额差异很大。
  • 原型基金- 在六个月内提供高达 47,500 欧元的开源原型支持,重点支持德国的软件开发商。
  • 斯隆基金会- 为开放科学社区项目提供资助,特别是那些增强研究中的开源软件的项目。
  • 陈·扎克伯格倡议开源软件项目- 专注于支持对生物医学研究至关重要的开源软件。资助金额各不相同。
  • Raspberry Pi 基金会- 为涉及 Raspberry Pi 和计算教育的教育项目提供资助。
  • GitCoin - 一个为开源项目提供资金的众筹平台,特别是在以太坊和 Web3 领域。资金根据社区支持而有所不同。
  • NLnet 基金会- 支持互联网技术和网络研究项目。补助金额各不相同。
  • 开放技术基金- 支持开发促进人权和开放社会的开放技术的项目。资金各不相同。

15.创建课程

把你的内容制作成课程,在平台上出售。

  • Skillshare - 根据课程观看分钟数提供付款以及推荐奖金。
  • Coursera - 与机构合作提供课程;付款通常基于收入分享协议。
  • LinkedIn Learning - 教师可以为专业人士创建课程;薪酬详细信息由 LinkedIn 安排。
  • Thinkific - 提供创建、营销和销售在线课程的工具,提供各种定价计划,包括免费选项。
  • Kajabi - 用于在线课程、营销、支付和网站建设的一体化平台。
  • Podia - 提供一个用于托管课程、网络研讨会和数字下载的平台,并直接向您的受众销售。
  • Pluralsight - 专注于技术和创意课程;根据课程的受欢迎程度向教师支付版税。

16.会员付费

提供高质量的产品或内容,并向会员收取费用。

  • MemberSpace - 使您能够对网站的某些部分进行付费,仅供会员使用
  • Patreon - 因设置具有独家内容和福利的会员等级而广受欢迎。
  • Substack - 新闻通讯的理想选择;提供付费订阅独家内容的能力。
  • Ghost - 一个具有内置会员和订阅功能的专业发布平台。
  • Podia - 支持会员资格、在线课程和数字下载的销售。

17.指导

无论您的级别如何,您作为开发人员的经验都可以真正帮助经验不足的其他人。指导是一种非常有益的方式,可以帮助他人,同时还能带来一些额外的收入。

  • MentorCruise - 主要是长期的,按月付费,非常适合建立专业关系(每个学员每月赚取 50-500 美元)
  • CodeMentor - 更适合短期使用,按小时收费,非常适合解决特定问题(每小时赚取 60-300 美元)

18.在线导师

随着 CompSci 现在成为国家课程的一部分(至少在英国和大部分欧洲),大量学生(11 岁至 18 岁以上)正在寻找导师来帮助他们获得编码技能并准备考试。收入范围为每小时 15 美元到 150 美元以上,具体取决于级别、经验和背景。

  • 超级教授- 列出您在全球范围内的服务(30-300 美元/小时)
  • The Profs - 经过验证的导师(收入未知)
  • 我的导师- 仅限英国,(22-55 英镑/小时)
  • Tutor.com - 美国高中学费(75-100 美元/小时)

19.社交媒体

许多社交媒体平台允许您通过内容货币化,您通常会按观看次数付费,金额根据内容类别、地区和声誉而有所不同。但请注意,您通常必须拥有一定数量的关注者才有资格。

20.品牌带货

如果你的社交媒体一旦成功突破了数百名订阅者,您可能还可以开始考虑品牌带货,这有助于带来额外收入。同样,这些需要您的受众达到一定程度的参与度,并且您可能还需要同意提供赞助的公司的条款。

21.微型SaaS

如果从头开始构建一个完整的应用程序听起来像是一项艰巨的任务(因为它确实如此!),那么另一种方法就是 Micro-SaaS 应用程序。这些是较小的应用程序,它们执行一项非常具体的任务,例如:

  • 自动执行重复和/或乏味的任务。
  • 执行当前手动计算的计算。
  • 连接不同的系统。
  • 替换 Excel 电子表格解决方法。
  • 填补宿主生态系统中缺失功能的空白

22.扩展插件

与 SaaS 应用程序不同,一旦构建并发布了扩展,通常不需要太多的持续管理。您还可能会发现,如果您的项目为已经完善的网站添加功能,那么您的项目会更容易快速获得关注。

尽管网络扩展似乎是一个过时的或完全饱和的市场,但仍然有很多可以做的事情,而且这些对于新开发人员来说都是很棒的项目。

23.发布应用程序

构建简单的应用程序或游戏,并将其在平台应用程序商店上提供,使您能够通过简单的盈利模型来瞄准数百万客户。所有主流应用商店 - Google Play、Apple App Store、Windows Store、Steam 等都提供对付费应用、高级功能和应用内购买的支持。

24.用户测试

开发应用程序的公司通常需要获得用户的反馈。这就是用户测试服务的用武之地。您花 10-30 分钟尝试给定的网站或应用程序,然后提供反馈或填写调查,并获得报酬!

尽管并非特定于开发人员,但凭借您的技术背景,您会发现自己具有独特的优势,可以快速完成这些工作并提供良好的反馈,从而使您比普通用户更快地赚钱。您还将获得有关用户测试流程如何工作的宝贵见解,这可能对您在自己的应用程序上进行委托测试时有用。

  • 尝试我的 UI - 每个网站或应用程序测试平均费用为 10 美元
  • Userlytics - 根据测试会话的复杂性和时长,赚取 5 至 50 美元之间的收入
  • 用户测试- 通过 PayPal 付款,在测试会话期间需要屏幕共享和/或网络摄像头访问。每次测试赚取约 10 美元,较长时间或现场会议的某些测试最高可支付 50 美元
  • 测试时间- 面对面或视频通话测试的选项。不太定期,但测试时间更长。当您考虑到会话之间的延迟时,报酬比其他选择更低
  • IntelliZoom - 每 10 分钟学习可赚取 2 至 10 美元。通过 PayPal 付款,延迟 3-5 天

25.经销商

这涉及构建一个应用程序来包装现有服务,同时添加 USP - 技术、客户支持、UI 或其他功能。如果您有营销或销售背景,这可能适合您。如果您想添加功能或使流程自动化,那么将需要大量的前期工作,但您将能够更好地获得收入。

您可以在大多数主要行业中找到提供经销商计划的服务提供商。
一些例子包括:

  • Supermetrics:营销报告、分析、数据集成、20% 经常性佣金。
  • Keap:CRM、销售和营销自动化、20-30% 的经常性佣金。
  • Klaviyo:电子邮件和短信营销,5–15% 一次性付款,10–20% 收入分成。
  • Drift:实时聊天软件,20%的收入分成。
  • ActiveCampaign:电子邮件营销、CRM、20-30% 佣金或折扣模式。
  • HubSpot:CRM、入站营销、销售、20% 收入分成。

最后的话

在你开始做任何事情之前,请思考“我为什么要这样做?”。如果您这样做是为了积累经验、学习新技能并享受乐趣——那就太好了。如果你这样做是为了快速致富,你可能会非常失望。

还有一点需要注意的是,尽管看起来不公平,但与那些刚刚起步的人相比,那些已经拥有大量追随者或几个成功的开源项目的人将处于更好的位置来利用机会。

这里先给大家展示一下我进的兼职群和最近接单的截图,小伙伴有需要也可继续往下看.

在这里插入图片描述

兼职群

私单在这里插入图片描述
在这里插入图片描述

如果你对Python感兴趣,想要学习python,这里给大家分享一份Python全套学习资料,都是我自己学习时整理的,希望可以帮到你,一起加油!

😝有需要的小伙伴,可以V扫描下方二维码免费领取🆓

1️⃣零基础入门

① 学习路线

对于从来没有接触过Python的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

② 路线对应学习视频

还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~
在这里插入图片描述

③练习题

每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
在这里插入图片描述

2️⃣国内外Python书籍、文档

① 文档和书籍资料

在这里插入图片描述

3️⃣Python工具包+项目源码合集

①Python工具包

学习Python常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦!
在这里插入图片描述

②Python实战案例

光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿!
在这里插入图片描述

③Python小游戏源码

如果觉得上面的实战案例有点枯燥,可以试试自己用Python编写小游戏,让你的学习过程中增添一点趣味!
在这里插入图片描述

4️⃣Python面试题

我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
在这里插入图片描述
在这里插入图片描述

[编辑本段]Turbo C2.0    介绍      Turbo C2.0不仅是一个快捷、高效的编译程序,同时还有一个易学、易用的集成开发环境。使用Turbo C2.0无需独立地编辑、编译和连接程序,就能建立并运行C语言程序。因为这些功能都组合在Turbo 2.0的集成开发环境内,并且可以通过一个简单的主屏幕使用这些功能。    基本配置要求   Turbo C 2.0可运行于IBM-PC系列微机,包括XT,AT及IBM 兼容机。此时要求DOS2.0或更高版本支持,并至少需要448K的RAM,可在任何彩、单色80列监视器上运行。支持数学协处理器芯片,也可进行浮点仿真,这将加快程序的执行。 [编辑本段]Turbo C 2.0的主要文件的简单介绍   INSTALL.EXE 安装程序文件   TC.EXE 集成编译   TCINST.EXE 集成开发环境的配置设置程序   TCHELP.TCH 帮助文件   THELP.COM 读取TCHELP.TCH的驻留程序README 关于Turbo C的信息文件   TCCONFIG.EXE 配置文件转换程序MAKE.EXE   项目管理工具TCC.EXE   命令行编译TLINK.EXE   Turbo C系列连接器TLIB.EXE   Turbo C系列库管理工具C0?.OBJ 不   同模式启动代码C?.LIB   不同模式运行库GRAPHICS.LIB   图形库EMU.LIB   8087仿真库FP87.LIB 8087库   *.H Turbo C头文件   *.BGI 不同显示器图形驱动程序   *.C Turbo C例行程序(源文件)   其中:上面的?分别为:T Tiny(微型模式)S Small(小模式)C Compact(紧凑模式)M Medium(中型模式)L Large(大模式)H Huge(巨大模式)    Turbo C++ 3.0   “Turbo C++ 3.0”软件是Borland公司在1992年推出的强大的——C语言程序设计与C++面向对象程序设计 的集成开发工具。它只需要修改一个设置选项,就能够在同一个IDE集成开发环境下设计和编译以标准 C 和 C++ 语法设计的程序文件。 [编辑本段]C 语言   C语言起始于1968年发表的CPL语言,它的许多重要思想都来自于Martin Richards在1969年研制的BCPL语言,以及以BCPL语言为基础的与Ken Thompson在1970年研制的B语言。Ken Thompson用B语言写了第一个UNIX操作系统。M.M.Ritchie1972年在B语言的基础上研制了C语言,并用C语言写成了第一个在PDP-11计算机上研制的UNIX操作系统。1977年出现了独立于极其的C语言编译文本《看移植C语言编译程序》,从而大大简化了把C语言编译程序移植到新环境中所做的工作,这本身也就使UNIX的日益广泛使用,C语言也迅速得到推广。   1983年美国国家标准化协会(ANSI)根据C语言问世以来的各种版本,对C语言的发展和扩充制定了新的标准,成为ANSI C。1987年ANSI又公布了新标准————87ANSI C。   目前在微型计算机上使用的有Microsoft C、Quick C、Turbo C等多种版本。这些不同的C语言版本,基本部分是相同的,但是在有关规定上有略有差异。   C 语言发展如此迅速, 而且成为最受欢迎的语言之一, 主要因为它具有强大的功能。许多著名的系统软件, 如DBASE Ⅲ PLUS、DBASE Ⅳ 都是由C 语言编写的。用C 语言加上一些汇编语言子程序, 就更能显示C 语言的优势了,象PC- DOS ,WORDSTAR等就是用这种方法编写的。归纳起来C 语言具有下列特点:   1. C是中级语言   它把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以象汇编语言一样对位、字节和地址进行操作, 而这三者是计算机最基本的工作单元。   2. C是结构式语言   结构式语言的显著特点是代码及数据的分隔化, 即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰, 便于使用、维护以及调试。C 语言是以函数形式提供给用户的, 这些函数可方便的调用, 并具有多种循环、条件语句控制程序流向, 从而使程序完全结构化。   3. C语言功能齐全   C 语言具有各种各样的数据类型, 并引入了指针概念, 可使程序效率更高。另外C 语言也具有强大的图形功能, 支持多种显示器和驱动器。而且计算功能、逻辑判断功能也比较强大, 可以实现决策目的。   4. C语言适用范围大   C 语言还有一个突出的优点就是适合于多种操作系统, 如DOS、UNIX,也适用于多种机型。   C语言的优点很多,但是也存在一些缺点,如运算优先级太多,运算能力方面不像其它高级语言那样强,语法定义不严格等。但是这些都不能阻止C语言成为一门广受欢迎的计算机编程语言
Turbo C2.0 介绍   Turbo C2.0不仅是一个快捷、高效的编译程序,同时还有一个易学、易用的集成开发环境。使用Turbo C2.0无需独立地编辑、编译和连接程序,就能建立并运行C语言程序。因为这些功能都组合在Turbo 2.0的集成开发环境内,并且可以通过一个简单的主屏幕使用这些功能。 基本配置要求   Turbo C 2.0可运行于IBM-PC系列微机,包括XT,AT及IBM 兼容机。此时要求DOS2.0或更高版本支持,并至少需要448K的RAM,可在任何彩、单色80列监视器上运行。支持数学协处理器芯片,也可进行浮点仿真,这将加快程序的执行。 主要文件的简单介绍   INSTALL.EXE 安装程序文件   TC.EXE 集成编译   TCINST.EXE 集成开发环境的配置设置程序   TCHELP.TCH 帮助文件   THELP.COM 读取TCHELP.TCH的驻留程序README 关于Turbo C的信息文件   TCCONFIG.EXE 配置文件转换程序MAKE.EXE   项目管理工具TCC.EXE   命令行编译TLINK.EXE   Turbo C系列连接器TLIB.EXE   Turbo C系列库管理工具C0?.OBJ 不   同模式启动代码C?.LIB   不同模式运行库GRAPHICS.LIB   图形库EMU.LIB   8087仿真库FP87.LIB 8087库   *.H Turbo C头文件   *.BGI 不同显示器图形驱动程序   *.C Turbo C例行程序(源文件)   其中:上面的?分别为:T Tiny(微型模式)S Small(小模式)C Compact(紧凑模式)M Medium(中型模式)L Large(大模式)H Huge(巨大模式)
### 回答1: 在 TURBO C 2.0 中,您可以使用 biosdisk() 函数来格式化软盘。 下面是一段代码示例: ``` #include <stdio.h> #include <dos.h> int main() { // 定义扇区的大小 unsigned int sector_size[3] = {512, 512, 1024}; // 定义填充字节 unsigned char fill_char[3] = {0xF6, 0xF6, 0x48}; // 格式化磁道 700 的前三个扇区 for (int i = 0; i < 3; i++) { int result = biosdisk(2, 0, 70, 0, i + 1, 1, sector_size[i], fill_char[i]); if (result != 0) { printf("格式化扇区 %d 失败,返回码: %d\n", i + 1, result); } } return 0; } ``` 请注意,在使用 biosdisk() 函数之前,需要包含 dos.h 头文件。 希望这能帮到您! ### 回答2使用TURBO C 2.0语言,可以通过以下代码格式化软盘的70磁道0面,并分别格式化3个扇区,大小分别为512字节、512字节和1024字节。其中,前两个扇区使用F6填充,第三个扇区使用48填充。 ```c #include<stdlib.h> #include<stdio.h> #include<dos.h> void formatFloppyDisk(){ union REGS regs; regs.h.ah = 0x0;// To format a floppy disk, we set AH=0 regs.h.dl = 0;// Drive number (0=A, 1=B, etc.) regs.x.cx = 0;// Track number to format regs.h.dh = 0;// Head number regs.h.al = 0;// Sector size (0=default, 1=512 bytes, 2=1024 bytes, 3=2048 bytes etc.) int FILL_BYTE = 0;// The byte value to fill the sectors with during formatting int NUM_SECTORS = 3;// Number of sectors to format // To format 70th track 0th head regs.x.ax = 0x1301; // 0x13 = Reset disk system, 01H = Reset only specified drive int86(0x13, &regs, &regs); // BIOS interrupt to reset disk system for (int i=0; i<NUM_SECTORS; i++){ regs.x.ax = 0x3101; // 0x31 = Write Format, 01H = Format only current track regs.x.bx = 0x0001; // 0x00 = Drive A:, 01H = Head 1, 0 = Generate ID Field depending on the disk in the drive 1 = Keep the ID Field all zeros regs.x.cx = 0x0170; // Track number=70(0-79 range) regs.h.dh = 0x00; // Head number=0 or 1 regs.h.al = 0x02; // Control byte=always zero regs.x.dx = i+1; // Sector number starting from 1 regs.x.si = 0x0000; // segment and offset of read/write buffer regs.x.di = 0x0000; // segment and offset of result if(i == 2){ FILL_BYTE = 0x48; // Fill the third sector with 48 regs.x.ax = 0x3102; // 0x31 = Write Format, 02H = Format sequential tracks immediately following the one being formatted }else{ FILL_BYTE = 0xF6; // Fill the first two sectors with F6 } regs.h.ah = FILL_BYTE; // Fill the sector with specified byte int86(0x13, &regs, &regs); // BIOS interrupt to format the specified sector } } int main(){ formatFloppyDisk(); return 0; } ``` 上述代码使用了INT 0x13,即BIOS中断服务例程,来执行软盘格式化操作。通过设置寄存器的不同参数,可以指定要格式化的磁道、面、扇区大小和填充字节。在这个例子中,我们格式化了软盘70磁道0面的3个扇区,前两个扇区使用F6填充,第三个扇区使用48填充。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值