如何用linux系统编写c程序

时间:2022-12-07 09:14:26

目录
[TOC]

为什么要写这一篇博客

因大一上学期老师要求而开始使用linux系统编写c程序,而linux编写的模式与windows差别很大,所以写此文章记录自己的学习历程,也能为初学者提供帮助
(本博客在我学习linux过程将持续更新)1

如何打开终端

1)按下快捷键打开终端: Ctrl+Alt+T 
2)从左侧工具栏中打开终端。

终端里的常见命令及作用

1.cd 
cd指返回当前目录:
如cd Desktop/program 便是指返回到Desktop(桌面)的program 文件夹;
2.gedit
gedit指打开某文件或创建某文件,相当于windows的记事本,当所在目录没有该文件时,就会重新创建该文件,倘若有,则file直接打开该文件;
如gedit Isprimer.c 便指打开或创建Isprimer.c的文件
3.gcc
gcc是编译器,其格式为gcc [options][filenames],即gcc编译器根据输入的选
择命令对文件进行相应处理。
gcc 文件 指生成可执行文件
gcc -g 文件 -g的作用是在进行gdb调试时调出代码
gcc -o 文件名 文件 修改文件的名称
-std = c99 有些格式如for(int i = 1; i < 5; i++)在for循环中定义变量,就要参考c99标准
-lm sqrt函数无法编译成功,在编译指令补上-lm (特殊函数就需要加上)
4.“./”
./指当前目录,./ 文件指执行当前目录下文件 。/.a.out 表示执行a.out可执行文件
5.gdb
gdb指gdb调试
1.输入file 文件,表示gdb调试的对象;
2.输入l,显示出程序的代码;
3.输入b n(数字) 表示设置的断点位置;
4.输入r表示调试开始;
5.输入s或n(字母)表示进入下一步;
6.输入p 变量名可查看该变量的数值;
7.输入q 退出gdb调试。

4.使用终端编写C语言

    以编写helloworld程序为例。 
1.用ctrl+alt+T来打开终端
2.要在某个文件夹里创建文本,首先要回到该文件夹的目录。如我在桌面(desktop)建立文本。 (在终端中输入)
cd Desktop //然后按下回车
3.创建文件夹(此步骤可跳过,但建议创建)
mkdir 文件名
4.建立文本
gedit hello world.c //然后按下回车,会跳出一个类似于windows的记事本
5.往里面敲代码
C
# include <stdio.h>
int main(void) {
printf("hello world!");
return 0;
}

6.保存代码,关闭文本框。
按esc,再输入:wq(一开始看不到尽管输进去,wq为保存并关闭,也可为w则为保存不关闭)
7.启动gcc对代码进行编译。
gcc helloworld.c -o execFile(此步骤会生成一个execFlie的文件,可用ls查看)
8.如果有错误,系统会提示,按方向键找回gedit helloworld.c 的指令,按下回车,弹出文本框后根据系统提示对代码进行修改,完成后记得保存,
关闭文本框。
9.运行
./execFlie则会开始运行
7.如果要进行调试,请参考我的第三部分:“有关编写C语言的指令”。

5.如何在linux中切换中英文版本

以英文改为中文为例
首先在 设置(settings)那里有个 语言支持 (language support)中安装 添加语言 中添加中文简体,再在 设置 中的 用户账户 中 解锁(unlock)并改变语言,最后重启。

6.vmware tools安装

①先说说这个工具有什么用把:真机与vm鼠标*切换,移动流畅;显示效果更加的好;支持拖拽即复制粘贴
②这两个网站已经很详细了,也回答了一些常见问题的解决方法,如果还是有问题请自行查资料或问。
虚拟机怎么安装vmware tools
ubuntu安装vwmare tools

7.vim的使用

1.安装vim

在终端中直接输入sudo apt install vim(也有说是apt-get install vim的,没有试过)
之后再根据提示输入密码(看不到的,盲输)和Y

2.vim指南

①在终端中直接输入vimtutor
建议在中文版下看,英语大神忽略
②自己上网查

3.vim配置

①在命令行下,输入命令:sudo vim /etc/vim/vimrc
必须加上sudo,否则你是没有权限编辑vimrc的。
②如果打开的是这个就是正确的
如何用linux系统编写c程序

常用配置

然后在最后面直接添加你想添加的配置,下面是一些常用的(不建议直接复制这个货网上的,要理解每个的含义及有什么用,根据自己需要来调整)
set number ” 显示行号
set nobackup “覆盖文件时不备份
set cursorline “突出显示当前行
set ruler “在右下角显示光标位置的状态行
set shiftwidth=4 ” 设定 > 命令移动时的宽度为 4
set softtabstop=4 ” 使得按退格键时可以一次删掉 4 个空格
set tabstop=4 ” 设定 tab 长度为 4(可以改)
set smartindent ” 开启新行时使用智能自动缩进
set ignorecase smartcase ” 搜索时忽略大小写,但在有一个或以上大写字母时仍 保持对大小写敏感
下面这个没觉得很有用,在代码多的时候会比较好
” set showmatch ” 插入括号时,短暂地跳转到匹配的对应括号
” set matchtime=2 ” 短暂跳转到匹配括号的时间

还不清楚有什么用的配置:

set guioptions-=T ” 隐藏工具栏
set guioptions-=m ” 隐藏菜单栏
set nocompatible ” 关闭 vi 兼容模式
set backspace=indent,eol,start
” 不设定在插入状态无法用退格键和 Delete 键删除回车符
set cmdheight=1 ” 设定命令行的行数为 1
set laststatus=2 ” 显示状态栏 (默认值为 1, 无法显示状态栏)
set statusline=\ % @=((foldclosed(line(‘.’))
” 用空格键来开关折叠
colorscheme molokai ” 设定配色方案
set autochdir ” 自动切换当前目录为当前文件所在的目录
filetype plugin indent on ” 开启插件
set backupcopy=yes ” 设置备份时的行为为覆盖
set hlsearch ” 搜索时高亮显示被找到的文本
set magic ” 设置魔术
set hidden ” 允许在有未保存的修改时切换缓冲区,此时的修改由 vim 负责保存


如果对以上观点有想法,欢迎交流。


  1. 本文部分内容摘自林威宏师兄博客林威宏师兄博客