014-计算机操作系统实验报告之C 程序的编写!

今天给大家分享的是一个计算机网络实验报告:Linux 下 C 程序的编写!

相信学计算机的小伙伴肯定不陌生,这个实验包括了实验目的、实验内容、实验代码及截图三个部分。

详细包括了该实验课程所需要的各个知识点。详情请看图片目录。只分享文档!

需要的点头像进主页看个人简介!需要的点头像进主页看个人简介!


以下请忽略!!!!以下请忽略!!!!以下请忽略!!!!以下请忽略!!!!

下面给出一个最小的 C 程序(Hello World)在 Linux 下的编写、编译与运行步骤,包含命令示例与常见问题排查。

  1. 创建源文件

    mkdir -p ~/c_demo
    cd ~/c_demo
    cat > hello.c <<'C'
    #include <stdio.h>

    int main(void) {
    printf("Hello, World!\n");
    return 0;
    }
    C

  2. 使用 gcc 编译

    gcc -o hello hello.c

常用编译选项:

  • -Wall:开启大部分警告(推荐)
  • -Werror:把警告当错误
  • -O2:优化等级
  • -g:生成调试信息(用于 gdb)

示例(带警告与调试信息):

复制代码
gcc -Wall -Werror -O2 -g -o hello hello.c
  1. 运行程序

    ./hello

    输出: Hello, World!

  2. 常见问题与排查

  • 如果提示 gcc: command not found:安装 gcc(Ubuntu/Debian)

    复制代码
    sudo apt updatesudo apt install build-essential

    CentOS/Fedora:

    复制代码
    sudo dnf install gcc    # 或 sudo yum install gcc
  • 如果出现编译警告/错误:查看源码行,按提示修正(开启 -Wall 帮助定位)

  • 权限问题:确保可执行文件有执行权限(通常 gcc 会设置)

    复制代码
    chmod +x hello
  • 链接错误(未定义引用):检查是否忘记添加库,例如 -lm(math 库)等。

  1. 调试与查看程序信息(简要)
  • 使用 gdb 调试:

    复制代码
    gdb ./hello# 在 gdb 内:run
  • 查看动态库依赖:

    复制代码
    ldd ./hello
  • 查看符号表(如果编译时加了 -g):

    复制代码
    nm ./hello
相关推荐
夏幻灵5 小时前
JavaScript this 面试:五种绑定规则、优先级与常见面试陷阱
开发语言·javascript·面试
程序猿编码5 小时前
榨干 RTX5090 算力!Qwen3 专用单卡推理引擎,手写C++/CUDA 算子实现 MTP 推测解码
开发语言·c++·大模型推理·qwen3·多模态推理
bkspiderx6 小时前
Qt 插件机制:动态扩展应用功能的核心框架
开发语言·qt·元数据·qt 插件·qpluginloader
程序员老陆6 小时前
深入理解 C++ thread_local:线程私有存储的正确打开方式
开发语言·c++·程序设计
沐晓时光7 小时前
C语言入门,深入理解指针(3)
c语言·开发语言
码云数智-园园7 小时前
unique_ptr 还是 shared_ptr?C++ 智能指针选型与内存泄漏实战分析
java·开发语言
禾小西8 小时前
07丨Redis 哨兵机制:主库故障后,如何恢复服务?
java·开发语言·redis
我不是阵雨8 小时前
JDK 21虚拟线程Pinning陷阱:一文拔钉解困
java·开发语言
SuperByteMaster8 小时前
wfi进入之前没有清除basepri, 导致中断优先级不够,wfi 退不出来
c语言
徐小黑ACG8 小时前
Golang 基础05 结构体struct
开发语言·算法·golang