news 2026/4/16 8:51:34

【韩公子的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/2 11:13:51

自制基于 Simulink 的 8 阶 LMS 自适应滤波器模型:从原理到降噪实践

基于simulink的8阶lms自适应滤波器模型&#xff0c;纯手搭 非软件自带lms库&#xff0c;图示为降噪效果。 第一行为加噪信号&#xff1b; 第二行为滤波器输出&#xff1b; 第三行为降噪结果。 可广泛应用于数字域噪声抵消的原型验证&#xff0c;具有参考和再次开发价值。 提供原…

作者头像 李华
网站建设 2026/4/9 21:55:21

大模型面试全记录:小白程序员必看,收藏这份高薪Offer秘籍!

本文记录了作者在2025年3月前后面试多家大模型相关公司的经历&#xff0c;包括智元机器人、面壁科技、光年之外等。作者分享了面试中的技术问题&#xff0c;如Transformer、大模型训练、框架等&#xff0c;并总结了高频考点&#xff0c;如多头注意力、BERT、GPT等。文章还探讨了…

作者头像 李华
网站建设 2026/4/15 14:15:18

论文省心了!9个降AIGC软件测评:本科生降AI率必备工具推荐

在如今的学术写作中&#xff0c;AI生成内容&#xff08;AIGC&#xff09;已成为不可忽视的一部分。无论是论文初稿还是最终定稿&#xff0c;许多学生都面临着一个共同难题&#xff1a;如何有效降低AI痕迹&#xff0c;避免被查重系统判定为“AI生成”。随着各大高校对论文原创性…

作者头像 李华
网站建设 2026/4/12 1:58:38

深度解析 CANN ATC AOE:模型编译与自动调优的工程化实践

在大模型推理从"技术验证"走向"生产部署"的过程中&#xff0c;模型编译优化已成为决定性能天花板的关键环节。当 PyTorch 或 TensorFlow 的模型文件&#xff08;.pt 或 .pb&#xff09;遇到昇腾 NPU 时&#xff0c;需要经历复杂的格式转换、算子映射、内存…

作者头像 李华
网站建设 2026/4/1 2:30:23

ubuntu安装uwsgi

# Install current stable version. python -m pip install uwsgi# Or install LTS (long term support). python -m pip install https://projects.unbit.it/downloads/uwsgi-lts.tar.gz

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

CANN加速图神经网络GNN推理:消息传递与聚合优化

图神经网络&#xff08;Graph Neural Networks&#xff0c;GNN&#xff09;是一种处理图结构数据的深度学习模型&#xff0c;能够有效学习节点和图的表示。GNN在社交网络分析、推荐系统、分子性质预测、知识图谱等领域有着广泛的应用。GNN推理的核心是消息传递和特征聚合&#…

作者头像 李华