news 2026/6/26 5:39:26

炼狱计划Day 0:从零搭建 C 语言环境,跑通第一个程序并交给 Git 托管

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
炼狱计划Day 0:从零搭建 C 语言环境,跑通第一个程序并交给 Git 托管

摘要:本文记录了从零搭建 Ubuntu 22.04 C 语言开发环境的完整过程。涵盖了标准化目录结构设计、Vim 编辑器配置、GCC 编译链路验证、Git 版本控制初始化等关键步骤。

一、 环境准备与目录规划

首先,我创建了一个名为 Icymemory 的项目目录,并按照规范建立了标准的 C 项目结构(包含源码、二进制、头文件和库文件目录)。

二、 编写与编译

进入 src 目录,我用 Vim 创建了 hello.c 文件。起初代码看起来没问题,但在编译时,GCC 编译器报错了:

🛠️ 解决过程

重新进入 Vim 修改代码,点i进入插入模式,补上,再次编译。

四、 Git 初体验

我引入 Git 进行版本控制。

1. 初始化仓库

在项目根目录执行:

2. 配置身份

第一次提交时,Git 提示“作者身份未知”。这是因为 Git 需要记录是谁修改了代码。

3. 提交快照

将所有文件加入暂存区并提交:

4. 查看历史

五、知识点总结

基础知识点

Linux ~ 路径解析、 mkdir -p 递归创建、 ls 文件枚举

Vim 命令模式/插入模式切换 ( Esc / i )、持久化指令 ( :wq )

GCC 编译四阶段(预处理/编译/汇编/链接)、 -o 输出重定向

Git 三层架构(工作区/暂存区/仓库)、 add / commit 工作流

C 语法 ASCII 字符规范、函数入口 main() 、返回值约定

敲代码时的习惯注意

符号规范性:编译器对字符集高度敏感,开发过程中必须严格区分全角与半角符号,这是导致新手编译失败的首要原因。

工程化思维:将源码与输出文件分离( src vs bin ),不仅便于管理,也是大型项目协作的基础。

版本控制必要性:Git 不仅是备份工具,更是代码演进的时间轴。尽早建立 Commit 习惯,有助于培养严谨的工程素养。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/26 5:36:22

阿里Java面试核心讲(终极版):程序员面试必刷!

程序员面试背八股,可以说是现在互联网开发岗招聘不可逆的形式了,其中最卷的当属Java!(网上动不动就是成千上百道的面试题总结)你要是都能啃下来,平时技术不是太差的话,面试基本上问题就不会太大…

作者头像 李华
网站建设 2026/6/26 5:34:47

XSS防御实战:CSP、HttpOnly与输入过滤的攻防解析

1. 项目概述:从“攻”与“防”的视角理解XSS 在Web安全领域,跨站脚本攻击(XSS)就像是一个经久不衰的“老朋友”,它利用的是Web应用对用户输入数据的不充分过滤和验证,将恶意脚本注入到页面中,最…

作者头像 李华
网站建设 2026/6/26 5:32:54

Java计算机毕设之基于 SpringBoot 的学生计算机基础能力测评系统设计与实现 线上计算机基础自动阅卷考试系统设计与实现(完整前后端代码+说明文档+LW,调试定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/6/26 5:29:03

Java毕业设计-基于 SpringBoot+Vue 的潮流音乐播放系统设计与实现 前后端分离架构下潮流音乐在线播放平台设计与实现(源码+LW+部署文档+全bao+远程调试+代码讲解等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华