虚拟机编写HelloWorld新手必看步骤有哪些,虚拟机运行代码教程?

想用虚拟机编写并运行HelloWorld,核心流程就四步:装虚拟机软件、装Linux系统、装编译器、写代码执行,全程约30分钟。

动手前先想清楚:虚拟机安装什么系统好

新手问“虚拟机安装什么系统好”时,大多数教程会推荐Ubuntu,理由很直接:Ubuntu自带apt包管理器,装编译器一条命令搞定,不用折腾源和依赖关系,相比之下,CentOS更适合服务器场景,Fedora更新太快,Debian对新手不够友好。

如何在Linux虚拟机上运行C程序呢
加载中
如何在Linux虚拟机上运行C程序呢

系统版本选LTS长期支持版,比如Ubuntu 22.04 LTS,LTS版本维护周期长达5年,网上搜到的教程大多基于这个版本,遇到问题容易找到对应解决方案,不要装最新的非LTS版本,软件源和驱动兼容性都可能出问题。

虚拟机软件选VMware Workstation Player还是Oracle VirtualBox?行业共识认为VirtualBox更适合入门,原因有三个:

  • 完全免费,个人使用无授权顾虑
  • 跨平台,Windows、macOS、Linux都能装
  • 硬件要求低,2GB内存的旧电脑也能流畅运行

VMware Player虽然功能更强,但注册账号和许可证对新手是额外门槛,VirtualBox在虚拟机安装Ubuntu方面,教程数量最多,踩坑资料最全。

宿主机硬件方面,建议内存不低于8GB,CPU支持虚拟化技术(Intel VT-x或AMD-V),不确定的话,进BIOS查看或直接搜“如何开启CPU虚拟化”,这是虚拟机性能的基础。

虚拟机安装Ubuntu的完整流程

第一步:下载镜像文件

去Ubuntu官网下载iso镜像,选择Desktop版(带图形界面),文件约4.5GB,下载时留意网络状况,国内用户如果下载速度慢,可以选择中科大、清华等开源镜像站,速度和稳定性都有保障。

第二步:在VirtualBox中新建虚拟机

打开VirtualBox,点击“新建”,弹出向导后这样设置:

  • 名称:输入ubuntu,类型自动识别为Linux,版本选Ubuntu 64-bit
  • 内存大小:分配4096MB(4GB),低于2GB跑图形界面会明显卡顿
  • 虚拟机编写HelloWorld新手必看步骤有哪些,虚拟机运行代码教程?

  • 虚拟硬盘:选择“现在创建虚拟硬盘”,文件类型默认VDI,大小建议30GB,动态分配即可

创建完成后,选中虚拟机点击“设置”,在“系统->处理器”里把核心数调到2个以上,“显示->显存”拉到128MB,这一步能明显提升界面流畅度。

第三步:挂载镜像并开始安装

点击“存储”,选中光驱图标,在光盘下拉菜单中选择刚下载的iso文件,然后启动虚拟机,屏幕出现紫色界面后等待片刻,选择“Install Ubuntu”进入安装向导。

整个安装过程大约10分钟,需要设置用户名、密码和时区,语言选简体中文,键盘布局默认就行,分区不用手动操作,选择“清除整个磁盘并安装Ubuntu”,这是虚拟机专用虚拟硬盘,并非物理机数据。

进入系统后,先处理这两件麻烦事

安装增强工具,解决虚拟机卡顿怎么解决

首次进入Ubuntu桌面,分辨率低、鼠标不流畅、无法与宿主机共享剪切板,这是正常的,打开终端(快捷键Ctrl+Alt+T),依次执行:

sudo apt update
sudo apt install -y virtualbox-guest-utils

装完后重启虚拟机,分辨率自动适配窗口大小,宿主机和虚拟机之间可以直接复制粘贴文本,绝大多数虚拟机卡顿问题都源于没装增强工具,装完后整体体验会顺畅很多。

虚拟机网络连接不上怎么办

Ubuntu默认使用NAT网络模式,能正常访问外网但宿主机无法直接访问虚拟机,对于HelloWorld这种本地程序,NAT模式完全够用,如果遇到软件源更新慢,建议先切换国内镜像源,否则后续安装软件会非常煎熬。

切换镜像源的快捷方式:打开“软件和更新”应用,在“Ubuntu软件->下载自”里选择“其他站点”,弹出列表选择清华或简米云镜像,点击“选择服务器”后关闭窗口,系统会提示重新加载软件源。

写HelloWorld前,把环境配到能直接跑

安装GCC编译器:编译代码的执行者

HelloWorld的C语言版本需要用gcc编译,打开终端输入:

虚拟机编写HelloWorld新手必看步骤有哪些,虚拟机运行代码教程?

sudo apt install -y gcc

等待执行完成后,输入gcc --version验证版本信息,看到类似“gcc version 11.4.0”的输出即表示安装成功,如果在安装过程中出现“Unable to locate package”报错,说明软件源没更新,先执行sudo apt update再重试。

选择顺手的第一款编辑器

新手常纠结用vim还是nano,建议用nano,原因很朴素:

  • 操作直观:底部直接显示快捷键,不需要记命令
  • 误操作代价低:Ctrl+W保存,Ctrl+X退出
  • 预装自带:无需额外安装

vim是进阶工具,模式切换对新手不友好,容易陷入“不知道怎么退出vim”的困境,如果确实想用vim,先运行vimtutor花20分钟学一遍基础操作。

创建专属工作目录

在终端执行:

mkdir ~/projects
cd ~/projects

给所有代码文件建一个独立文件夹,后续写复杂程序时能省去很多整理时间。

从零到HelloWorld的完整代码实操

第一步:用nano创建代码文件

在终端输入:

nano hello.c

这会打开一个空白编辑界面,输入以下代码:

#include <stdio.h>
int main() {
    printf("Hello, World!n");
    return 0;
}

检查每一行是否有拼写错误,初学者最容易漏掉分号和引号,这两处出错会导致编译失败。

第二步:保存并退出

按下Ctrl + O,回车确认文件名,再按Ctrl + X退出编辑器,系统会返回终端界面,此时键入ls查看当前目录文件列表,能看到hello.c说明文件创建成功。

第三步:编译与执行

在终端输入编译命令:

gcc hello.c -o hello

命令执行后没有任何输出就是好消息,再输入运行命令:

./hello

虚拟机编写HelloWorld新手必看步骤有哪些,虚拟机运行代码教程?

终端会显示Hello, World!,这就是你通过虚拟机写出的第一个可执行程序。

如果编译时出现hello.c:3:5: error: expected ';',说明printf语句末尾少了分号,再用nano打开文件,修正后重新编译即可,这类报错是新手必经之路,关键是明白报错信息指向的代码行号。

虚拟机编写HelloWorld常见问题速查

问:虚拟机里写完代码,Windows宿主机上能看到文件吗?

可以,但默认不可见,安装增强工具后,VirtualBox会在Ubuntu文件管理器中自动挂载一个共享文件夹,路径通常显示为sf_文件夹名,设置方法:虚拟机设置->共享文件夹->添加宿主机物理路径,重启后生效,如果文件放在~/projects目录里,需要在终端执行挂载命令才能从宿主机直接访问。

问:虚拟机代码能直接复制到物理机上跑吗?

C语言属于跨平台编译型语言,代码本身是纯文本,可以复制,但可执行文件不兼容,Windows下需要用Visual Studio或MinGW重新编译成exe才能运行,HelloWorld这段代码没有任何特定平台依赖,复制源码到宿主机后重新编译即可正常输出。

问:为什么我运行./hello提示Permission denied?

这是因为刚编译出的可执行文件没有执行权限,多数情况下是当前用户不是文件所有者,在编译命令后加-o hello没有权限问题,但如果你手动创建过文件或改变了目录所有者,需要执行chmod +x hello赋予执行权限,再运行./hello即可,实际上正确执行gcc命令编译出来的文件自带执行权限,出现这个报错请检查是否手动修改过文件属性。

从下载镜像到看到终端输出,整条路径没有隐藏的坑,虚拟机是学习编程的沙盒环境,这里写坏的代码、编译出错的教训,都是低成本试错的过程,跑通第一个程序后,试着修改printf双引号里的文本改变输出内容,重新编译运行,你会更快理解“源代码->编译->运行”这条基础链路。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/%e8%99%9a%e6%8b%9f%e6%9c%ba%e7%bc%96%e5%86%99helloworld%e6%96%b0%e6%89%8b%e5%bf%85%e7%9c%8b%e6%ad%a5%e9%aa%a4%e6%9c%89%e5%93%aa%e4%ba%9b%ef%bc%8c%e8%99%9a%e6%8b%9f%e6%9c%ba%e8%bf%90%e8%a1%8c%e4%bb%a3/

赞 (0)
功能测试服务器都有哪些,哪个平台更稳定?
上一篇 2026年10月20日 21:08
开店的服务器有哪些好的?,哪种性价比最高?
下一篇 2026年10月20日 21:09

相关推荐

  • 域名解析到不同服务器会影响网站访问速度吗,服务器IP不同对网站加载速度有影响吗?

    会,域名解析到不同服务器会改变用户访问的目标 IP,从而影响网络路径、延迟、带宽和稳定性;但 DNS 解析这个动作本身,通常不是最大的速度瓶颈,域名解析到不同服务器会影响网站访问速度吗先分清 DNS 解析耗时和访问耗时用户打开网页,大致经历这些环节:浏览器缓存、系统缓存查询域名递归 DNS 向根、顶级域、权威……

    2026年10月17日
    200
  • 国内有视觉大模型吗?国内视觉大模型现状及主流产品盘点

    关于国内视觉大模型吗,我的看法是这样的:中国已进入视觉大模型产业化落地的关键窗口期,技术能力接近国际一线水平,但工程化落地与行业适配仍是破局核心,当前,视觉大模型已从“能做”迈向“能用、好用、用得起”的新阶段,据IDC 2024年Q1报告,国内视觉大模型相关项目落地数量同比增长173%,其中工业质检、医疗影像……

    2026年4月15日
    7600
  • 全球同服CDN加速,全球同服CDN加速多少钱

    全球同服CDN是解决跨国游戏低延迟、高丢包率及数据同步冲突的唯一技术解,通过智能路由与边缘计算节点前置,将跨洲延迟压缩至50ms以内,实现真正的无感知全球同步体验,在2026年,随着云游戏与元宇宙应用的普及,传统的单点加速已无法满足需求,全球同服架构的核心在于“数据就近处理,状态全局一致”,这要求CDN不仅具备……

    2026年5月27日
    5500
  • 大模型预测虚拟币准吗?最新版预测结果解析

    大模型预测虚拟币的核心价值在于利用深度学习算法处理海量非线性数据,从而在极高波动的市场中捕捉人类交易者难以察觉的微观规律,最新版的大模型技术已经不再局限于单一的价格走势预测,而是进化为集风险预警、仓位管理、市场情绪分析于一体的智能决策系统,这一技术革新正在从根本上改变量化交易的逻辑,将预测的准确率从传统的随机漫……

    2026年3月23日
    14200
  • 通义大模型怎么微调?通义大模型微调值得吗

    通义大模型微调不仅值得关注,更是企业实现AI落地、构建差异化竞争力的关键路径,对于具备一定技术储备和垂直场景数据的团队而言,微调能够显著提升模型在特定领域的表现,降低推理成本,并有效解决通用模型“博而不精”的痛点,通义大模型怎么微调值得关注吗?我的分析在这里将直接揭示核心逻辑:微调的本质是将通用能力“垂直化……

    2026年3月6日
    15200
  • 前端js cdn怎么配置?前端js cdn加速

    前端JS CDN的核心价值在于通过全球节点分发显著降低首屏加载时间(FCP),提升SEO权重与用户体验,2026年主流选择应优先考虑具备边缘计算能力且符合国内ICP备案合规性的头部服务商,在2026年的Web开发语境中,静态资源加载效率直接决定转化率,传统的单点服务器托管已无法应对高并发场景,CDN(内容分发网……

    2026年6月9日
    3600
  • 张向东停慧聪网域名背后有何隐情?,慧聪网域名为什么被停用?

    围绕“张向东停慧聪网域名”的讨论,与其说是隐情,不如说是一次典型的战略取舍——业务重心迁移、品牌资产重组、域名持有成本与合规管理叠加,最终让老域名从“资产”变成“需要处理的存量”,张向东停慧聪网域名,先厘清“停”的是什么很多人一看到“停域名”,第一反应是网站打不开了,实际在企业操作里,“停”至少分三种形态,含义……

    云计算 2026年10月21日
    100
  • cdn多个ip怎么配置,cdn多ip配置教程

    CDN配置多个IP并非简单的数量叠加,而是通过智能调度实现故障隔离、带宽扩容及合规备案的底层架构策略,其核心价值在于提升业务连续性与访问体验,而非单纯追求IP数量,在2026年的数字化基础设施环境中,内容分发网络(CDN)已演变为复杂的边缘计算网络,许多企业误以为增加CDN节点IP数量即可线性提升性能,实则忽略……

    2026年7月6日
    3900
  • 大模型小灰熊怎么样?大模型小灰熊值得研究吗

    深入研究大模型小灰熊,其核心价值在于它为开发者和中小企业提供了一条极具性价比的落地路径,解决了传统大模型部署成本高、推理速度慢的痛点,结论先行:小灰熊模型并非单纯追求参数规模的竞赛者,而是在特定场景下实现了性能与效率完美平衡的实用主义工具,尤其适合对响应速度和私有化部署有严格要求的业务场景, 模型架构与核心优势……

    2026年4月4日
    10100
  • 阿里云怎么刷cdn?如何设置CDN缓存刷新

    阿里云CDN无法通过非正常手段“刷”量,正确做法是配置加速域名、优化源站并监控带宽峰值以应对流量高峰,很多刚接触云计算的用户听到“刷CDN”这个词,容易产生误解,以为像早年互联网那样通过技术手段强行增加访问量或绕过限制,在2026年的云计算环境下,CDN(内容分发网络)的核心价值在于加速和分流,而非被“刷”出额……

    2026年5月26日
    4700

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注