VMware配置Ubuntu 编写c程序

文章目录

    • Vmware配置Ubuntu
    • Vim的使用
    • Ubuntu配置
      • apt-get配置
        • 16.04
        • 18.04
        • 20.04
    • 编写程序
      • helloworld程序
      • 编写简单程序
        • (一)Ubuntu下的简单主/子程序
        • (二)Windows下编写程序
      • Ubuntu系统使用makefile方式编程

Vmware配置Ubuntu

参考该链接

Vim的使用

vim是一款编辑器,基于vi,可以通过按键就能完成文章的书写,有三种使用模式。

模式 作用
命令模式 通过输入vi的命令对文件的内容进行处理(复制、删除、移动等),也可以通过按光标键来移动光标
编辑模式 可以在光标处输入内容
命令项模式 命令模式下,用户输入冒号后,光标会跳到底行,然后输入命令

常用命令

命令 作用
h 左移光标
l 右移光标
k 上移光标
j 下移光标
i 插入内容
l 第一行插入
a 光标后插入
o 当前行插入新一行
x 删除光标处字符
dd 删除所在行字符
X 删除光标前的一个字符
:n1,n2 t n3 把n1行到n2行的内容复制到第n3行的下一行
:n1,n2 m n3 把n1行到n2行的内容移动到第n3行的下一行
:w 保存文件,不退出
:q 不保存,退出
:wq/:x /:ZZ 保存并退出

Ubuntu配置

apt-get配置

采用apt-get安装某个软件时,默认官方的软件源仓库位于国外,下载速度慢,选择国内镜像软件源仓库,提高安装速度。
(1)首先切换目录:cd /etc/apt,查看/编辑sources.list文件:sudo vi sources.list
可以看到都是国外的软件源
VMware配置Ubuntu 编写c程序_第1张图片
(2)删掉sources.list原本的内容,选择合适的源并配置,这里选择阿里源,不同版本的Ubuntu对应的内容是不同的。

16.04
deb-src http://archive.ubuntu.com/ubuntu xenial main restricted #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse #Added by software-properties
deb http://archive.canonical.com/ubuntu xenial partner
deb-src http://archive.canonical.com/ubuntu xenial partner
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse
18.04
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
20.04
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
 
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
 
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
 
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
 
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse

(3)文件内容编辑完毕,保存退出,更新源

sudo apt-get update

VMware配置Ubuntu 编写c程序_第2张图片

编写程序

helloworld程序

(1)打开终端,选择合适的位置,创建helloworld文件,通过vim进行编辑文件。
VMware配置Ubuntu 编写c程序_第3张图片
(2)使用gcc命令编译程序

gcc  helloworld.c -o helloworld

gcc常用命令如下表

命令 作用
gcc -E helloworld.c -o helloworld. i 对helloworld.c 的程序进行预编译 .i做扩展名,生成文本文件
gcc -S helloworld.i -o helloworld.s 进行编译,生成一个汇编语言源程序文件.s做扩展名,编译后是文本文件
gcc -c helloworld.s -o helloworld.o 对helloworld.s进行汇编,生成一个可重定位目标文件 . o作扩展名,汇编后是二进制文件
gcc helloworld.o -o helloworld 将多个可重定位目标文件和标准库函数,printf所在的可重定位目标模块printf.o进行链接,生成可执行目标文件
gcc helloworld.c -o helloworld 从c语言程序直接生成可执行目标文件
./helloworld 执行文件helloworld
(3)运行helloworld文件
./helloworld

在这里插入图片描述

编写简单程序

(一)Ubuntu下的简单主/子程序

(1)编写一个main.主程序

vim main.c

VMware配置Ubuntu 编写c程序_第4张图片
编写子程序sub.c
VMware配置Ubuntu 编写c程序_第5张图片
(2)编译main.c程序并运行
VMware配置Ubuntu 编写c程序_第6张图片

(二)Windows下编写程序

这里使用VS2017新建一个空项目,编写main.cpp、sub.cpp、sub.h文件,点击运行,得到结果如图。
VMware配置Ubuntu 编写c程序_第7张图片

Ubuntu系统使用makefile方式编程

一个工程文件中的源文件可能有很多,并且不同的功能、模块等都放在不同的目录中,常规的编译已经不能高效化的处理这样的问题,makefile写好后只需要一个make指令,即可完成makefile文件中所编写的所有指令,从而编译整个工程文件。
main.c内容
VMware配置Ubuntu 编写c程序_第8张图片
sub.h内容
VMware配置Ubuntu 编写c程序_第9张图片
makefile内容

hello:main.c sub2.h
	gcc main.c sub1.h -o hello

运行结果
VMware配置Ubuntu 编写c程序_第10张图片

你可能感兴趣的:(ubuntu,c语言,linux)