【无标题】

1.国内镜像源安装

Ubuntu系统一般采用 apt-get 命令进行某个软件的在线查找和安装,默认官方的软件源仓库位于国外,下载速度较慢。在这里可以选择更换国内的镜像源(如阿里云),操作步骤如下:

  1. 切换到主目录
cd /etc/apt
  1. 对源进行备份。
sudo cp sources.list sources.list.old
  1. 编辑源.
sudo nano sources.list
  1. 将文件中的内容全部删除(ctrl+k)。
  2. 更换源,以下有几种源选择,个人选用阿里云。
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse 
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse 
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse 
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse 
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse 
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse

  1. 复制,粘贴保存退出。更新缓存
sudo apt-get update
  1. 更新完成。

2.输出hello world

1.安装vim编辑器与gcc编译器

输入命令 安装vim编辑器

sudo apt-get install vim

安装gcc编译器

sudo apt-get install gcc

2.vim命令使用

vim使用共分为三种模式,分别是命令模式、输入模式、底线命令模式。
启动vim,进入命令模式,此时敲击键盘会被vim识别为命令,而非输入字符。如此时按下i,并不会输入字符,而是被当作切换到输入模式的命令。

几个常用命令:

i 切换到输入模式,以输入字符
x 删除当前光标所处字符
: 切换到底线命令模式,在最底一行输入命令
ESC 退出输入模式,切换到命令模式

在底线命令模式中,基本的命令有:

q 退出程序
w 保存文件

在之后的部分我们会用到:wq!命令
惊叹号在vim中常常具有强制的意思

:wq!指储存后离开

如果为:wq! 则为强制存储后离开(常用)
3.生成hello.c
输入命令vim hello.c
进入vim编辑器,键入i,进入insert模式,编写代码。

#include<stdio.h>
int main()
{
	printf("hello world!");
	return 0;
}

编辑完成后,esc键,:wq!保存并退出vim编辑。
4.编译hello.c
输入命令

gcc hello.c -o hello

此时会生成一个hello文件
输入./hello
即完成hello world的输出:

在这里插入图片描述

3.gcc编译程序

编译阶段编译命令实现作用
汇编gcc -c hello.s -o hello.o将文件转换为目标文件
链接gcc hello.o -o hello将目标文件转换为可执行文件

3.输出两个整形变量的运算。(Windows与Linux)

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

1.linux环境下编写

  • 编写main1.c
#include"sub1.h"  //包含头文件

int main()
{
	int a=2,b=3;            //定义x和y变量
	int c;c=x2x(a,b);
	printf("%.2f\n",c);      //输出处理后的值,保留两位小数
	return 0;
}
  • 编写sub1.h头文件
#ifndef __SUB1_H
#define __SUB1_H

#include<stdio.h>

float x2x(int a,int b);         //计算a+b的结果

#endif
  • 编写sub1.c
#include "sub1.h"
float x2x(int a,int b)
{
	float r;
	r=a+b;
	return r;
}
  • gcc编译
    1.命令:gcc -c sub1.c
    将sub1.c转为目标文件sub1.o。
    2.命令:gcc main1.c sub1.o -o main1
    编译main1.c文件为目标文件main1.o,然后链接sub1.o目标文件生成main1可执行文件。
    3.执行./main1命令,即可执行编译生成的main1程序。
    运行结果为5.00
    运行结果为5.00。

2.Windows环境下编写

工具:Dev c++

  • 编写main.c文件
#include <stdio.h>
#include "sub1.h"
int main() 
{
	int a,b;
	a=2;b=3;
	float r;
	r=x2x(a,b);
	printf("%.2f\n",r);
	return 0;
}
  • 编写sub1.h头文件
#include <stdio.h>
float x2x(int a,int b)
{
	float r;
	r=a+b;
	return r;
}

在这里插入图片描述

运行结果为5.00。

4.用makefile编程主程序

在Shell脚本中使用make命令来进行编译,尤其在C/C++开发中,make命令通过makefile文件中描述源程序之间的依赖关系进行自动编译;
makefile文件是按照规定格式编写,需说明如何编译各个源文件并连接生成可执行文件,并要求定义源文件之间的依赖关系;
很多大型项目的编译都是通过 Makefile 来组织的。

1.Makefile文件编写规则

target:prerequisites
	command			# command以一个tab键开始

# target为一个目标文件,可以是Object File,也可以是执行文件。还可以是一个标签(Label)
# prerequisites是需要生成target所依赖的文件或是目标
# command也就是make需要执行的命令。(任意的Shell命令)

目标不可省略,前置条件和命令可以二选一

目标可以是文件名,指明make命令所要构建的对象,也可以是某个操作名称。
如:

clean:
			rm *.o

2.编写Makefile文件并编译

  • 安装makefile
    输入命令
 sudo apt-get install make
  • 编写makefile文件
 main1:sub1.o main1.c
        gcc main1.c sub1.o -o main1

sub1.o:sub1.c
        gcc -c sub1.c -o sub1.o

clean:
        rm *.o //执行make clean命令,实现对象文件的删除

在这里插入图片描述
在这里插入图片描述

总结

通过这次实验,我首先了解了如何更换镜像源,解决下载速度慢的问题;然后再了解了vim编辑器和gcc编译器的工作原理及常用命令后,通过编写相应文件,实现了helloworld输出、编写子程序运行等一系列操作,让我更加了解了虚拟机的运行机制。最后通过makefile的学习,我了解了如何通过编写可执行文件来进行已有程序的编译。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值