Ubuntu下Vim GCC GDB安装及使用
Ubuntu18.04之vim安装及配置

Ubuntu18.04之vim安装及配置⼀、安装vim命令⾏中输⼊:sudo apt-get install vim(ps:它会显⽰让你输⼊密码,不过你输⼊的密码不会回显)查看安装是否成功输⼊: vim -v⼆、配置vim第⼀步:在终端创建.vimrc⽂件命令为: $vi ~/.vimrc(ps:表⽰⼿动设置⼀个配置⽂件 :vimrc , 这⾥把.vimrc⽂件创建在当前⽤户的根⽬录下)第⼆步:在.vimrc⽂件中添加配置内容:set shortmess=atI " 启动的时候不显⽰那个援助乌⼲达⼉童的提⽰winpos 55" 设定窗⼝位置set lines=40 columns=155" 设定窗⼝⼤⼩set nu " 显⽰⾏号set go= " 不要图形按钮syntax on " 语法⾼亮autocmd InsertLeave * se nocul " ⽤浅⾊⾼亮当前⾏autocmd InsertEnter * se cul " ⽤浅⾊⾼亮当前⾏set showcmd " 输⼊的命令显⽰出来,看的清楚些set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{strftime(\"%d/%m/%y\ -\ %H:%M\")} "状态⾏显⽰的内容set laststatus=1" 启动显⽰状态⾏(1),总是显⽰状态⾏(2)set foldmethod=manual " ⼿动折叠set background=dark "背景使⽤⿊⾊set nocompatible "去掉讨厌的有关vi⼀致性模式,避免以前版本的⼀些bug和局限" 显⽰中⽂帮助if version >= 603set helplang=cnset encoding=utf-8endifset fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936set termencoding=utf-8set encoding=utf-8set fileencodings=ucs-bom,utf-8,cp936set fileencoding=utf-8autocmd BufReadPost *\ if line("'\"") > 0 && line("'\"") <= line("$") |\ exe "normal g'\"" |\ endiflet mapleader=","nnoremap <space> :vnoremap <space> :nnoremap <C-h> <C-W>hnnoremap <C-j> <C-W>jnnoremap <C-k> <C-W>knnoremap <C-l> <C-W>linoremap <C-h> <Esc><C-W>hinoremap <C-j> <Esc><C-W>jinoremap <C-k> <Esc><C-W>kinoremap <C-l> <Esc><C-W>llet OpenDir=system("pwd")nmap <silent> <leader>cd :exe 'cd ' . OpenDir<cr>:pwd<cr>let g:Tlist_Auto_Update=1let g:Tlist_Process_File_Always=1let g:Tlist_Exit_OnlyWindow=1let g:Tlist_Show_One_File=1let g:Tlist_WinWidth=25let g:Tlist_Enable_Fold_Column=0let g:Tlist_Auto_Highlight_Tag=1let g:NERDTreeWinPos="right"let g:NERDTreeWinSize=25let g:NERDTreeShowLineNumbers=1let g:NERDTreeQuitOnOpen=1if has("cscope")set csto=1set cstset nocsverbif filereadable("cscope.out")cs add cscope.outendifset csverbendiflet g:OmniCpp_DefaultNamespaces=["std"]let g:OmniCpp_MayCompleteScope=1let g:OmniCpp_SelectFirstItem=2if has("gdb")set asm=0let g:vimgdb_debug_file=""run macros/gdb_mappings.vimendiflet g:LookupFile_TagExpr='"./tags.filename"'let g:LookupFile_MinPatLength=2let g:LookupFile_PreserveLastPattern=0let g:LookupFile_PreservePatternHistory=1let g:LookupFile_AlwaysAcceptFirst=1let g:LookupFile_AllowNewFiles=0source $VIMRUNTIME/ftplugin/man.vimlet g:snips_author="Du Jianfeng"let g:snips_email="cmdxiaoha@"let g:snips_copyright="SicMicro, Inc"function! RunShell(Msg, Shell)echo a:Msg . '...'call system(a:Shell)echon 'done'endfunctionnmap <F2> :TlistToggle<cr>nmap <F3> :NERDTreeToggle<cr>nmap <F4> :MRU<cr>nmap <F5> <Plug>LookupFile<cr>nmap <F6> :vimgrep /<C-R>=expand("<cword>")<cr>/ **/*.c **/*.h<cr><C-o>:cw<cr>nmap <F9> :call RunShell("Generate tags", "ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .")<cr>nmap <F10> :call HLUDSync()<cr>nmap <F11> :call RunShell("Generate filename tags", "~/.vim/shell/genfiletags.sh")<cr>nmap <F12> :call RunShell("Generate cscope", "cscope -Rb")<cr>:cs add cscope.out<cr>nmap <leader>sa :cs add cscope.out<cr>nmap <leader>ss :cs find s <C-R>=expand("<cword>")<cr><cr>nmap <leader>sg :cs find g <C-R>=expand("<cword>")<cr><cr>nmap <leader>sc :cs find c <C-R>=expand("<cword>")<cr><cr>nmap <leader>st :cs find t <C-R>=expand("<cword>")<cr><cr>nmap <leader>se :cs find e <C-R>=expand("<cword>")<cr><cr>nmap <leader>sf :cs find f <C-R>=expand("<cfile>")<cr><cr>nmap <leader>si :cs find i <C-R>=expand("<cfile>")<cr><cr>nmap <leader>sd :cs find d <C-R>=expand("<cword>")<cr><cr>nmap <leader>zz <C-w>onmap <leader>gs :GetScripts<cr>autocmd BufNewFile *.cpp,*.[ch],*.sh,*.java exec ":call SetTitle()"func SetTitle()if &filetype == 'sh'call setline(1,"\#########################################################################")call append(line("."), "\# File Name: ".expand("%"))call append(line(".")+1, "\# Author: jianqiao")call append(line(".")+2, "\# mail: 123456789@")call append(line(".")+3, "\# Created Time:".strftime("%c"))call append(line(".")+4,"\#########################################################################") call append(line(".")+5, "\#!/bin/bash")call append(line(".")+6, "")elsecall setline(1, "/*************************************************************************")call append(line("."), " > File Name: ".expand("%"))call append(line(".")+1, " > Author: jianqiao")call append(line(".")+2, " > Mail: 123456789@ ")call append(line(".")+3, " > Created Time: ".strftime("%c"))call append(line(".")+4," ************************************************************************/")call append(line(".")+5, "")endifif &filetype == 'cpp'call append(line(".")+6, "#include <iostream>")call append(line(".")+7, "")call append(line(".")+8, "using namespace std;")call append(line(".")+9, "")call append(line(".")+10, "int main(void){")call append(line(".")+11, "")call append(line(".")+12, " return 0;")call append(line(".")+13, "}")endifif &filetype == 'c'call append(line(".")+6, "#include <stdio.h>")call append(line(".")+7, "")call append(line(".")+8, "int main(void){")call append(line(".")+9, "")call append(line(".")+10," return 0;")call append(line(".")+11, "}")endifautocmd BufNewFile *normal Gendfuncinoremap ( ()<Esc>i>set ts=4set expandtabset autoindentset nuset nocompatibleset numberset autoindentset smartindentset showmatchset rulerset incsearchset tabstop=4set shiftwidth=4set softtabstop=4set cindentset nobackupset clipboard+=unnamed三、重启终端创建、编写、编译、运⾏C、C++程序(ps:以创建hello.cpp和hello.c为例)1、在终端使⽤命令vihello.c(vi hello.cpp) 创建hello.c / hello.cpp⽂件,并进⼊vim界⾯;2、键⼊i,进⼊输⼊模式3、编写hello.c / hello.cpp程序4、先按Esc键退出输⼊模式;然后按 : 键,进⼊命令模式;输⼊wq表⽰保存并退出。
gcc的使用方法

gcc的使用方法GCC(GNU Compiler Collection)是一款由GNU开发的编程语言编译器集合,支持多种编程语言,如C、C++、Fortran等。
它被广泛用于各种操作系统和硬件平台上的软件开发,提供了强大的功能和灵活的配置选项。
本文将介绍GCC的基本使用方法,帮助读者快速上手。
一、安装GCC要使用GCC,首先需要在您的计算机上安装它。
GCC可以在多个操作系统上运行,包括Linux、Windows和Mac OS。
具体的安装方法因操作系统而异,下面将分别介绍。
1. 在Linux上安装GCC:在大多数Linux发行版中,GCC已经默认安装。
如果您的系统中没有安装GCC,您可以通过包管理器来安装它。
例如,在Debian或Ubuntu系统上,可以使用以下命令安装GCC:```sudo apt-get install gcc```其他Linux发行版的安装方法请参考相应的文档。
2. 在Windows上安装GCC:在Windows上,可以通过MinGW或MSYS2来安装GCC。
这两个工具集提供了一种在Windows环境中使用GCC的方式。
您可以从官方网站上下载并按照安装向导进行安装。
3. 在Mac OS上安装GCC:在Mac OS上,可以使用Homebrew或MacPorts来安装GCC。
这两个软件包管理系统可以让您以与Linux相似的方式在Mac OS上安装软件。
例如,使用Homebrew安装GCC的命令如下:```brew install gcc```其他安装方法请参考相应文档。
二、编写源代码安装好GCC后,我们就可以开始编写源代码了。
GCC支持多种编程语言,但本文以C语言为例进行介绍。
打开任何文本编辑器,创建一个后缀名为.c的文件,并编写您的C 源代码。
例如,创建一个名为`hello.c`的文件,其中包含以下代码:```c#include <stdio.h>int main() {printf("Hello, world!\n");return 0;}```三、编译和运行代码一旦您编写好了源代码,接下来就可以使用GCC将其编译成可执行文件。
gcc 用法

gcc 用法GCC (GNU Compiler Collection) 是一套自由软件编译器,可以用于编译多种编程语言的源代码,包括 C、C++、Objective-C、Fortran、Ada 和其他一些语言。
GCC 是GNU计划的一部分,由自由软件基金会维护和发展。
本文将详细介绍 GCC 的使用方法。
一、环境准备在使用GCC之前,需要先安装好GCC。
GCC是开源软件,常见的Linux发行版都默认安装GCC,Windows下可以通过安装Cygwin或MinGW等方式安装GCC。
安装完成后,在命令行中输入gcc --version查看gcc的版本号确认是否安装成功。
除了GCC之外,还需要一个文本编辑器来编写源代码。
Windows下常用的文本编辑器有Notepad++,Linux下则使用vim或emacs等编辑器。
还需要了解一些基本的编程知识和语法。
二、GCC 编译 C 语言程序以下是一个简单的 C 语言程序,可以输出 "Hello, world!":```c#include <stdio.h>printf("Hello, world!\n");return 0;}```将上述代码保存为 helloworld.c 文件,然后在命令行中进入文件所在目录,输入以下命令编译该程序:```gcc helloworld.c -o helloworld```gcc是编译器的命令,helloworld.c是待编译的源代码文件名,-o helloworld是生成的可执行文件名。
执行上述命令后,GCC 会把源代码编译成可执行文件 helloworld。
运行该可执行文件,可以得到以下输出:```Hello, world!```三、GCC 编译 C++ 程序GCC 也可以编译 C++ 程序,以下是一个简单的 C++ 程序,可以输出 "Hello,world!":```c++#include <iostream>std::cout << "Hello, world!" << std::endl;return 0;}```将上述代码保存为 helloworld.cpp 文件,然后在命令行中进入文件所在目录,输入以下命令编译该程序:```g++ helloworld.cpp -o helloworld```g++是编译器的命令,helloworld.cpp是待编译的源代码文件名,-o helloworld是生成的可执行文件名。
Ubuntu下gcc安装及使用

Ubuntu下gcc安装及使⽤是⽹上查阅后总结的,,可能会相似在Ubuntu下安装GCC和其他⼀些Linux系统有点不⼀样。
⽅法⼀:该⽅法超简单:sudo apt-get build-depgcc就上⾯这条命令就可以搞定⽅法⼆:sudo apt-get install build-essential还是简单,⼀句命令也可以搞定安装完了可以执⾏gcc--version的命令来查看版本,输出如下:gcc(GCC)4.2.3(Ubuntu4.2.3-2ubuntu7)Copyright(C)2007FreeSoftwareFoundation,Inc.编译则使⽤gcc命令。
要往下学习⾸先就得熟悉gcc命令的⽤法。
gcc命令提供了⾮常多的命令选项,但并不是所有都要熟悉,初学时掌握⼏个常⽤的就可以了,到后⾯再慢慢学习其它选项,免得因选项太多⽽打击了学习的信⼼。
⼀. 常⽤编译命令选项假设源程序⽂件名为test.c。
1. ⽆选项编译链接⽤法:#gcc test.c作⽤:将test.c预处理、汇编、编译并链接形成可执⾏⽂件。
这⾥未指定输出⽂件,默认输出为a.out。
2. 选项 -o⽤法:#gcc test.c -o test作⽤:将test.c预处理、汇编、编译并链接形成可执⾏⽂件test。
-o选项⽤来指定输出⽂件的⽂件名。
3. 选项 -E⽤法:#gcc -E test.c -o test.i作⽤:将test.c预处理输出test.i⽂件。
4. 选项 -S⽤法:#gcc -S test.i作⽤:将预处理输出⽂件test.i汇编成test.s⽂件。
5. 选项 -c⽤法:#gcc -c test.s作⽤:将汇编输出⽂件test.s编译输出test.o⽂件。
6. ⽆选项链接⽤法:#gcc test.o -o test作⽤:将编译输出⽂件test.o链接成最终可执⾏⽂件test。
7. 选项-O⽤法:#gcc -O1 test.c -o test作⽤:使⽤编译优化级别1编译程序。
gdb使用教程

gdb使用教程GDB是GNU调试器的缩写,是一个功能强大的命令行调试工具,用于帮助开发人员在调试过程中定位和修复程序中的错误。
以下是GDB的使用教程:1. 编译程序时添加调试信息:在使用GDB进行调试之前,需要确保程序在编译时包含了调试信息。
可以通过在编译命令中添加`-g`选项来实现。
例如:`gcc -g main.c -o main`。
2. 启动GDB:在命令行中输入`gdb`命令,然后输入可执行文件的路径作为参数。
例如:`gdb ./main`。
3. 设置断点:断点是在程序执行到指定位置时停下来的标记。
可以使用`break`命令来设置断点。
例如:`break main`可以在`main`函数的开头设置一个断点。
4. 开始执行程序:使用`run`命令来运行程序。
例如:`run`。
5. 执行程序并停在断点处:当程序开始运行后,会在达到断点处停下来等待输入。
此时可以使用一些GDB命令来检查程序的状态,如查看变量的值、栈帧等。
6. 单步执行:使用`next`命令来逐行执行程序。
例如:`next`。
7. 跳出函数:使用`finish`命令可以跳出当前正在执行的函数,并停在调用该函数的上一个函数中。
8. 继续执行:使用`continue`命令可以接着执行程序直到下一个断点或程序结束。
9. 查看变量的值:使用`print`或简写的`p`命令可以查看变量的值。
例如:`print i`可以查看变量`i`的值。
10. 修改变量的值:使用`set`命令可以修改变量的值。
例如:`set i = 10`可以将变量`i`的值修改为10。
11. 查看函数调用栈:使用`backtrace`或简写的`bt`命令可以查看函数调用栈。
12. 退出GDB:使用`quit`命令可以退出GDB。
以上是一些常用的GDB命令,使用GDB进行调试时还有很多其他的功能和命令可以使用,可以通过阅读GDB的文档来更详细地了解。
Ubuntu操作系统安装及设置步骤

Ubuntu操作系统安装及设置步骤介绍Ubuntu是一个基于Linux内核的开源操作系统,具有稳定性和安全性好的特点,适用于个人用户、企业用户以及开发者。
本文档将向您介绍如何安装和设置Ubuntu操作系统。
步骤一:准备安装介质2. 制作安装介质,可以选择将镜像文件烧录到DVD或制作启动盘。
步骤二:安装Ubuntu操作系统1. 将制作好的安装介质插入计算机,并从该介质启动计算机。
2. 在启动界面选择“Install Ubuntu”以开始安装过程。
3. 选择安装语言和键盘布局,点击“Continue”继续。
4. 在安装类型界面,可以选择完全安装或自定义分区。
对于新用户,建议选择完全安装以便快速上手。
5. 设置系统时钟和时区,确保时间设置准确。
6. 创建和设置用户名和密码,确保密码的强度。
7. 等待系统安装完成,并根据需要重启计算机。
步骤三:系统设置1. 进入安装后的Ubuntu系统界面,根据提示更新系统软件包。
在终端中输入以下命令执行更新:sudo apt updatesudo apt upgrade2. 安装所需软件,可以通过终端命令行或Ubuntu软件中心安装,如:sudo apt install <软件名>3. 配置网络设置,根据网络环境连接无线网络或配置有线网络。
4. 设置系统语言和地区,可以在“Settings”中选择“Language & Region”进行设置。
5. 调整系统外观和个性化设置,包括桌面壁纸、主题风格、程序启动器等。
6. 配置软件源,根据需要添加、删除或更改软件源以便获取最新的软件包。
7. 安装必要的驱动程序,如果系统中有硬件设备需要特定驱动程序支持,进行相应的安装和设置。
步骤四:系统维护和安全设置1. 定期更新系统和软件包,将系统保持最新状态,提高系统安全性和稳定性。
2. 安装杀毒软件和防火墙,保护系统免受恶意软件和网络攻击。
3. 设置用户权限和访问控制,避免非授权用户访问您的系统。
ubuntu上安装gcc

ubuntu上安装gcc⾸先我是直接根据别⼈博客来的:1. sudo apt update2. sudo apt install build-essential主要是说 build-essential 中包含了 GNU 编辑器集合,GNU调试器和其他编译软件所必须的开发库和⼯具。
结果,报错了。
我⼀开始想到的是直接上博客搜,查到两种解决⽅案:1. 杀死之前的进程查出与 apt 相关的进程,然后直接关了。
ps -e|grep apt然后将进程杀死:但是我的下载依旧报错;因此我采⽤了第⼆种⽅法。
2. 强制解锁按照别⼈的博客所说,删除以下两个⽂件就⾏了,如下所⽰:sudo rm /var/cache/apt/archives/locksudo rm /var/lib/dpkg/lock但是我依旧报错:~$ sudo apt install build-essentialE: ⽆法获得锁 /var/lib/dpkg/lock-frontend - open (11: 资源暂时不可⽤)E: ⽆法获取 dpkg 前端锁 (/var/lib/dpkg/lock-frontend),是否有其他进程正占⽤它?不急,慢慢来。
这时我发现报错⾥貌似有指明冲突在哪,于是我试了试直接强制解锁这⾥的:sudo rm /var/lib/dpkg/lock-frontend再安装试试?~$ sudo apt-get install build-essentialE: dpkg 被中断,您必须⼿⼯运⾏ ‘sudo dpkg --configure -a’ 解决此问题。
⾏,那就运⾏吧。
~$ sudo dpkg --configure -adpkg: 错误: 另外⼀个进程已经为 dpkg 状态数据库加锁额,,,不慌,于是我试了试 apt-get ⽽不是直接⽤ apt 安装:~$ sudo apt install build-essential正在读取软件包列表... 完成正在分析软件包的依赖关系树正在读取状态信息... 完成有⼀些软件包⽆法被安装。
gdb的安装及使用流程

gdb的安装及使用流程1. 简介gdb是GNU Debugger的缩写,是一款功能强大的调试工具,可用于调试C、C++等程序。
本文将介绍如何安装和使用gdb。
2. 安装gdb以下是在Ubuntu系统上安装gdb的步骤:1.打开终端。
2.输入以下命令安装gdb:sudo apt-get install gdb3.输入系统密码确认安装。
4.等待安装完成。
3. 使用gdb进行调试以下是使用gdb进行调试的基本流程:1.编写带有调试信息的程序。
2.编译程序时需要添加-g选项,以保留调试信息。
例如:gcc -g -o program program.c3.在终端中输入以下命令启动gdb:gdb program这里的program是编译后生成的可执行文件。
4.使用gdb的命令进行调试。
下面是一些常用的gdb命令:•run:运行程序。
•break:设置断点。
•continue:继续执行程序直到下一个断点。
•next:单步执行程序。
•print:打印变量的值。
•finish:执行完当前函数并返回到调用该函数的地方。
•quit:退出gdb。
5.根据需要重复步骤4进行调试,直到找到和解决问题。
4. 调试示例下面以一个简单的C程序进行演示:```c #include <stdio.h>int factorial(int n) { if (n == 1) return 1; else return n * factorial(n-1); } int main() { int n = 5; printf(。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Ubuntu下Vim+GCC+GDB安装及使用
一)安装
vim)打开命令行运行sudo apt-get install vim,并按提示输入管理员密码。
gcc+gdb)输入命令行运行 sudo apt-get install build-essential
build-essential包含gcc和gdb等工具,是C语言的开发包。
安装完了可以执行
gcc --version
的命令来查看版本,输出如下:
gcc (Ubuntu 4.8.2-19ubuntu1) 4.8.2
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
则表明安装好了。
二)常用编译命令选项
假设源程序文件名为test.c。
1. 无选项编译链接
用法:#gcc test.c
作用:将test.c预处理、汇编、编译并链接形成可执行文件。
这里未指定输出文件,默认输出为a.out。
2. 选项 -o
用法:#gcc test.c -o test
作用:将test.c预处理、汇编、编译并链接形成可执行文件test。
-o选项用来指定输出文件的文件名。
3. 选项 -E
用法:#gcc -E test.c -o test.i
作用:将test.c预处理输出test.i文件。
4. 选项 -S
用法:#gcc -S test.i
作用:将预处理输出文件test.i汇编成test.s文件。
5. 选项 -c
用法:#gcc -c test.s
作用:将汇编输出文件test.s编译输出test.o文件。
6. 无选项链接
用法:#gcc test.o -o test
作用:将编译输出文件test.o链接成最终可执行文件test。
7. 选项-O
用法:#gcc -O1 test.c -o test
作用:使用编译优化级别1编译程序。
级别为1~3,级别越大优化效果越好,但编译时间越长。
三)多源文件的编译方法
如果有多个源文件,基本上有两种编译方法:
[假设有两个源文件为test.c和testfun.c]
1. 多个文件一起编译
用法:#gcc testfun.c test.c -o test
作用:将testfun.c和test.c分别编译后链接成test可执行文件。
2. 分别编译各个源文件,之后对编译后输出的目标文件链接。
用法:
#gcc -c testfun.c //将testfun.c编译成testfun.o
#gcc -c test.c //将test.c编译成test.o
#gcc -o testfun.o test.o -o test //将testfun.o和test.o链接成test
四)gdb调试器的使用
输入命令:gdb Cfilename,开始调试程序。
下面列出一些gdb常用命令:
l <n> 输出第n行到n+9行的源代码
break <n> 在第n行设置断点
info break 查看断点信息
r 运行
n 单步执行
c 继续执行
p varName 输出变量值
q 退出。