1.编译器: MinGW-64,进入网址后点击Files,文件在该目录下:Toolchains targetting Win64–>Personal Builds–>mingw-builds–>8.1.0–>threads-posix–>seh
这里下载的是64位、seh异常处理机制、POSIX线程的gcc包。
什么是MinGW-64?我也不清楚,只能贴过来一篇文章,c++有很多编译器,其他不做介绍。
2. 编辑器:vim,进入网址后点击Download再点击PC: MS-DOS and MS-Windows,再点击gvim82.exe(ftp)完成下载
把下载好的x86_64-8.1.0-release-posix-seh-rt_v6-rev0解压,得到文件夹mingw64,然后把mingw64随便放到一个目录下,把mingw64目录下的bin添加环境变量即可。
我把mingw64放到了E盘,具体操作如下:
1.鼠标右键点击电脑,点击属性
2.点击高级系统设置
3.点击环境变量
4.双击path
5.将bin目录添加到path中,然后全部确定。到此安装完成
6.测试是否安装完成,在命令行输入gcc -v
,可以看到版本信息。
7.helloword程序测试,将这段代码写入hello.cpp文件中,把hello.cpp放到桌面,用g++命令编译,生成a.exe文件,执行a.exe输出"HELLO WORLD"。注意了,编译的时候不能使用gcc命令,虽然gcc命令可以编译c++源码,但是它不能自动链接c++的函数库。
#include
using namespace std;
int main()
{
cout<<"HELLO WORLD"<<endl;
return 0;
}
2. 把vim打造成为一个c/c++开发的IDE
vim可以通过自己定制,成为一个顺手的c/c++程序编写工具。我不使用插件,只需要修改配置文件,把我的配置文件复制粘贴到vim目录下的_vimrc中,将原来的内容覆盖,就能达到一样的效果。
我要在vim中实现的功能:
F2为一键java,c,c++,sh文件添加文件头
F5一键保存、编译、运行(支持java,c,c++,sh)
F8编译调试
语法高亮。自动识别代码,使用多种颜色显示。
" Vim with all enhancements
source $VIMRUNTIME/vimrc_example.vim
" Remap a few keys for Windows behavior
source $VIMRUNTIME/mswin.vim
" Use the internal diff if available.
" Otherwise use the special 'diffexpr' for Windows.
if &diffopt !~# 'internal'
set diffexpr=MyDiff()
endif
function MyDiff()
let opt = '-a --binary '
if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
let arg1 = v:fname_in
if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
let arg1 = substitute(arg1, '!', '\!', 'g')
let arg2 = v:fname_new
if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
let arg2 = substitute(arg2, '!', '\!', 'g')
let arg3 = v:fname_out
if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
let arg3 = substitute(arg3, '!', '\!', 'g')
if $VIMRUNTIME =~ ' '
if &sh =~ '\
if empty(&shellxquote)
let l:shxq_sav = ''
set shellxquote&
endif
let cmd = '"' . $VIMRUNTIME . '\diff"'
else
let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . '\diff"'
endif
else
let cmd = $VIMRUNTIME . '\diff'
endif
let cmd = substitute(cmd, '!', '\!', 'g')
silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3
if exists('l:shxq_sav')
let &shellxquote=l:shxq_sav
endif
endfunction
" 上面的是默认配置,下面是手动添加的。
set encoding=utf-8 "设置文件的代码形式 utf8
set termencoding=utf-8
set fileencoding=utf-8
set fileencodings=ucs-bom,utf-8,chinese,cp936
set shortmess=atI " 启动时关闭公益广告
set number " 显示行号
syntax on " 打开语法高亮。自动识别代码,使用多种颜色显示。
set t_Co=256 "启用256色
set cursorline "光标所在行高亮
"set wrap "自动拆行,一行太长的代码分行显示(已经注释,要使用把set前面的分号删除)
set autoindent " 自动缩进
set cindent
set tabstop=4 " Tab键的宽度
set softtabstop=4 " 统一缩进为4
set shiftwidth=4
set noexpandtab " 不要用空格代替制表符
set smartindent " 为C程序提供自动缩进
colorscheme evening " 设置配色方案
map ggVGY " 映射全选 ctrl+A
vmap <C-C> "+y "映射复制 ctrl+C
map <C-V> "+gP "映射粘贴ctrl+V
set noundofile "不生成撤销历史
set nobackup "不生成备份文件
set noswapfile "不生成交换文件,主要用于系统崩溃时恢复文件
if version >= 603 " 显示中文帮助
set helplang=cn
set encoding=utf-8
endif
set noerrorbells "出错时,不要发出响声
set visualbell "出错时,发出视觉提示
set history=1000 "Vim 需要记住多少次历史操作
"vim的菜单乱码解决
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
"vim提示信息乱码的解决
language messages zh_CN.utf-8
"C,C++ 按F5编译运行
map <F5> :call CompileRunGcc()<CR>
func CompileRunGcc()
exec "update"
if &filetype == 'c'
exec "!gcc % -o %< & %<"
elseif &filetype == 'cpp'
exec "!g++ % -o %< & %<"
elseif &filetype == 'java'
exec "!javac % & java %<"
elseif &filetype == 'sh'
exec "!%"
endif
endfunc
"C,C++的调试
map :call Rungdb()
func! Rungdb()
exec " !g++ % -g -o %<"
exec "!gdb %<"
endfunc
"按F2给c,c++,java,sh添加文件头
map <F2> :call SetTitle()<CR>
func SetTitle()
if &filetype == 'c'
call setline(1,"\#include " )
call setline(2,"\#include " )
call setline(3,"")
call setline(4,"int main()")
call setline(5,"{")
call setline(6,"\tprintf(\"Hello world!\\n\");")
call setline(7,"\treturn 0;")
call setline(8,"}")
call setline(9,"")
elseif &filetype == 'cpp'
call setline(1,"\#include " )
call setline(2,"")
call setline(3,"using namespace std;")
call setline(4,"")
call setline(5,"int main()")
call setline(6,"{")
call setline(7,"\tcout << \"Hello world!\" << endl;")
call setline(8,"\treturn 0;")
call setline(9,"}")
call setline(10,"")
elseif &filetype == 'java'
call setline(1,"public class ".expand("%<")." {")
call setline(2,"\tpublic static void main(String[] args){")
call setline(3,"\t\tSystem.out.println(\"Hello World\");")
call setline(4,"\t}")
call setline(5,"}")
elseif &filetype == 'sh'
call setline(1, "\#!/bin/bash")
call setline(2, "")
endif
:$
endfunc
配置这个文件参考了网上许多的资料下面贴出来一些把
Vim 配置入门、在VIM下写C++能有多爽、Vim的终极配置方案,完美的写代码界面!…