news 2026/4/23 11:20:59

【韩公子的Linux大集市】C语言 1.4 程序的编写、编译与运行全流程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【韩公子的Linux大集市】C语言 1.4 程序的编写、编译与运行全流程

文章目录

  • C语言程序的编写、编译与运行全流程
    • 1. 程序编写
      • 1.1 创建源代码文件
    • 2. 编译过程详解
      • 2.1 编译的四个阶段
      • 2.2 各阶段说明
    • 3. 完整的命令行操作
      • 3.1 一步完成编译(推荐)
      • 3.2 分步编译示例
    • 4. 运行程序
      • 4.1 运行可执行文件
      • 4.2 查看输出
    • 5. 实际示例
      • 5.1 示例程序
      • 5.2 编译运行
    • 6. 常见编译选项
      • 示例:
    • 7. 集成开发环境(IDE)推荐
      • 7.1 Windows
      • 7.2 Mac/Linux
    • 8. 常见错误与调试
      • 8.1 编译错误
      • 8.2 运行时错误
      • 8.3 使用gdb调试
    • 9. 最佳实践
    • 10. 多文件编译示例
      • 10.1 文件结构
      • 10.2 编译多文件

C语言程序的编写、编译与运行全流程

1. 程序编写

1.1 创建源代码文件

创建一个文本文件,扩展名为.c,例如hello.c

#include<stdio.h>// 包含标准输入输出头文件intmain(){// 主函数,程序入口printf("Hello, World!\n");// 输出语句return0;// 返回0表示程序正常结束}

2. 编译过程详解

2.1 编译的四个阶段

源代码(.c) → 预处理 → 编译 → 汇编 → 链接 → 可执行文件

2.2 各阶段说明

  1. 预处理:处理#开头的指令

    gcc -E hello.c -o hello.i
    • 展开头文件
    • 宏替换
    • 条件编译
  2. 编译:生成汇编代码

    gcc -S hello.i -o hello.s
  3. 汇编:生成目标文件

    gcc -c hello.s -o hello.o
  4. 链接:生成可执行文件

    gcc hello.o -o hello

3. 完整的命令行操作

3.1 一步完成编译(推荐)

# 使用gcc编译器gcc hello.c -o hello# 或者使用clang编译器clang hello.c -o hello

3.2 分步编译示例

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

【计算机网络 | 第七篇】数据链路层及三个基本问题

文章目录3.1 数据链路层概述数据链路层的信道类型数据链路层的简单模型3.2 数据链路和帧链路与数据链路的区别帧3.1.2 数据链路层的三个基本问题1. 封装成帧2. 透明传输3. 差错检测3.1 数据链路层概述 在计算机网络体系结构中&#xff0c;数据链路层主要研究在同一个局域网中&…

作者头像 李华
网站建设 2026/4/23 9:52:18

真的太省时间!千笔,专科生论文写作神器

你是否曾在论文写作中感到力不从心&#xff1f;选题无头绪、资料难查找、结构混乱、查重率高得让人焦虑……这些困扰&#xff0c;是不是让你夜不能寐&#xff1f;专科生的论文之路本就不易&#xff0c;再加上时间紧迫和写作技巧不足&#xff0c;更是雪上加霜。但如今&#xff0…

作者头像 李华
网站建设 2026/4/23 9:50:41

Raspberry Pi 4摄像头模块启用完整指南(Bullseye适用)

Raspberry Pi 4摄像头模块启用实战手记&#xff1a;Bullseye系统下从黑屏到稳定输出的完整通关路径你刚把树莓派4B通电&#xff0c;接上官方Camera Module v2&#xff0c;运行libcamera-hello——屏幕一片漆黑。终端里只有一行冷冰冰的提示&#xff1a;No cameras available这不…

作者头像 李华
网站建设 2026/3/28 19:48:00

微信小程序 java+Vue3基于springboot框架的旅游记忆游迹共享系统

目录微信小程序旅游记忆共享系统摘要技术架构创新点开发技术源码文档获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;微信小程序旅游记忆共享系统摘要 该系统基于SpringBoot后端框架与Vue3前端技术&#xff0c;结合微信小程序生态&#xff0c;构…

作者头像 李华
网站建设 2026/4/16 13:27:30

哪些域名后缀不支持购买DV证书?DV型的SSL证书购买有哪些限制?

绝大多数域名后缀&#xff08;包括常见的 .com, .org, .cn&#xff09;都支持购买 DV 证书&#xff0c;但确实有极少数特殊情况会导致无法购买或签发&#xff1a;1. 特殊组织域名。 比如.gov&#xff0c;.edu等政府网站机构网站&#xff0c;需要使用OV企业认证型或者EV加强型SS…

作者头像 李华
网站建设 2026/4/17 12:29:15

从能力整合到价值落地:Java企业的AI中台建设实践路径

在人工智能技术深度渗透产业的当下&#xff0c;Java企业面临着一个共性挑战&#xff1a;如何将碎片化的AI能力转化为贴合业务场景的解决方案&#xff0c;让传统系统完成智能化升级&#xff0c;而非停留在“大模型调用工具”的浅层应用。对于长期深耕Java生态的技术团队而言&…

作者头像 李华