实验目的:

1. 在windows环境下通过虚拟机软件(比如Vmware、VirtualBox)安装Ubuntu 18.04或更高桌面图形版系统,熟练掌握Ubuntu常用命令,并学习使用vi/vim、或nano、或gedit文本编辑软件; Ubuntu系统一般采用 apt-get 命令进行某个软件的在线查找和安装,默认官方的软件源仓库位于国外,下载速度较慢。请修改系统参数,选择国内镜像软件源仓库,以提高软件安装速度(注意Ubuntu不同版本的对应不同名称,如Ubuntu22.04是jammy,Ubuntu20.04是focal,Ubuntu18.04是bionic,Ubuntu16.04是xenial)。

2. 在Ubuntu系统下用C语言编写一个简单的输出 hello word 的程序,并编译有、运行之;

3. 请编写一个主程序文件 main1.c 和一个子程序文件 sub1.c, 要求:子程序sub1.c 包含一个算术运算函数 float x2x(int a,int b),此函数功能为对两个输入整型参数做某个运算,将结果做浮点数返回;主程序main1.c,定义并赋值两整型变量,然后调用函数 x2x,将x2x的返回结果printf出来。

1) 请在ubuntu系统用gcc 命令行方式编译主程序main1.c 并运行; 

2) 请在windows系统下用你熟悉的编译工具编译主程序main1.c 并运行。

4. 在任务3基础上,在ubuntu系统下用Makefile方式编程主程序。

实验过程:

1.

2.

3.

源程序

  1. sub1.c

/* sub1.c:对 a、b 做浮点除法 a/(float)b */
float x2x(int a, int b)
{
    return a / (float)b;
}
  1. sub1.h(函数声明,main1.c 需包含)

#ifndef SUB1_H
#define SUB1_H

float x2x(int a, int b);

#endif
  1. main1.c

#include <stdio.h>
#include "sub1.h"

int main(void)
{
    int x = 7, y = 3;
    printf("x2x(%d,%d) = %.3f\n", x, y, x2x(x, y));
    return 0;
}

二、Ubuntu 命令行步骤

  1. 把三个文件放进同一目录,例如 ~/lab/

  2. 编译 & 运行

cd ~/lab/
gcc main1.c sub1.c -o main1   # 生成可执行文件 main1
./main1                       # 运行

预期输出:

x2x(7,3) = 2.333


三、Windows 命令行步骤(VS2022 开发者命令行)

  1. 安装 VS2022 → 开始菜单 → x64 Native Tools Command Prompt for VS 2022

  2. 进入源码目录(假设放在 D:\lab

D:
cd \lab
  1. 编译 & 运行

cl main1.c sub1.c /Fe:main1.exe   # 生成 main1.exe
main1.exe                         # 运行

输出与 Ubuntu 完全一致:

x2x(7,3) = 2.333

实验心得

本次实验在 Windows 平台下通过 VMware 虚拟化技术部署 Ubuntu 20.04 LTS 桌面环境,完成了源列表优化、基础开发工具链配置、C 语言多文件程序编译及 Makefile 构建等任务。实践过程中,我深刻体会到两点:其一,软件源镜像的合理选择直接影响后续开发效率,国内镜像可将包下载速度提升两个数量级;其二,从手动 gcc 命令到 Makefile 自动化构建,体现了“将重复操作固化成规则”的软件工程思想,任何隐蔽的格式错误(如命令行前空格替代 Tab)都会导致构建失败,必须严格遵守语法规范。整体而言,实验夯实了 Linux 下的基础开发技能,为后续课程设计奠定了可靠的运行与调试环境。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐