導航:首頁 > 源碼編譯 > vim可以編譯c語言嗎

vim可以編譯c語言嗎

發布時間:2022-06-05 17:51:12

㈠ 如何在vim中編譯C程序時,默認使用C99標准

gcc默認是不支持c99及以上版本的 如果想支持,需要在編譯時加參數:-std=c99 gcc -std=c99 -o xx xx.c 或者在源碼里定義宏 #define __STDC_VERSION__ 199901L

㈡ 我想在vim中直接編譯C語言請問怎樣配置vimrc啊

python">"------------------------------------------------------------------------------
" < 編譯、連接、運行配置 >
"------------------------------------------------------------------------------
" F9 一鍵保存、編譯、連接存並運行
map <F9> :call Run()<CR>
imap <F9> <ESC>:call Run()<CR>
" Ctrl + F9 一鍵保存並編譯
map <c-F9> :call Compile()<CR>
imap <c-F9> <ESC>:call Compile()<CR>
" Ctrl + F10 一鍵保存並連接
map <c-F10> :call Link()<CR>
imap <c-F10> <ESC>:call Link()<CR>
let s:LastShellReturn_C = 0
let s:LastShellReturn_L = 0
let s:ShowWarning = 1
let s:Obj_Extension = '.o'
let s:Exe_Extension = '.exe'
let s:Sou_Error = 0
let s:windows_CFlags = 'gcc -fexec-charset=gbk -Wall -g -O0 -c % -o %<.o'
let s:linux_CFlags = 'gcc -Wall -g -O0 -c % -o %<.o'
let s:windows_CPPFlags = 'g++ -fexec-charset=gbk -Wall -g -O0 -c % -o %<.o'
let s:linux_CPPFlags = 'g++ -Wall -g -O0 -c % -o %<.o'
func! Compile()
exe ":ccl"
exe ":update"
if expand("%:e") == "c" || expand("%:e") == "cpp" || expand("%:e") == "cxx"
let s:Sou_Error = 0
let s:LastShellReturn_C = 0
let Sou = expand("%:p")
let Obj = expand("%:p:r").s:Obj_Extension
let Obj_Name = expand("%:p:t:r").s:Obj_Extension
let v:statusmsg = ''
if !filereadable(Obj) || (filereadable(Obj) && (getftime(Obj) < getftime(Sou)))
redraw!
if expand("%:e") == "c"
if g:iswindows
exe ":setlocal makeprg=".s:windows_CFlags
else
exe ":setlocal makeprg=".s:linux_CFlags
endif
echohl WarningMsg | echo " compiling..."
silent make
elseif expand("%:e") == "cpp" || expand("%:e") == "cxx"
if g:iswindows
exe ":setlocal makeprg=".s:windows_CPPFlags
else
exe ":setlocal makeprg=".s:linux_CPPFlags
endif
echohl WarningMsg | echo " compiling..."
silent make
endif
redraw!
if v:shell_error != 0
let s:LastShellReturn_C = v:shell_error
endif
if g:iswindows
if s:LastShellReturn_C != 0
exe ":bo cope"
echohl WarningMsg | echo " compilation failed"
else
if s:ShowWarning
exe ":bo cw"
endif
echohl WarningMsg | echo " compilation successful"
endif
else
if empty(v:statusmsg)
echohl WarningMsg | echo " compilation successful"
else
exe ":bo cope"
endif
endif
else
echohl WarningMsg | echo ""Obj_Name"is up to date"
endif
else
let s:Sou_Error = 1
echohl WarningMsg | echo " please choose the correct source file"
endif
exe ":setlocal makeprg=make"
endfunc
func! Link()
call Compile()
if s:Sou_Error || s:LastShellReturn_C != 0
return
endif
let s:LastShellReturn_L = 0
let Sou = expand("%:p")
let Obj = expand("%:p:r").s:Obj_Extension
if g:iswindows
let Exe = expand("%:p:r").s:Exe_Extension
let Exe_Name = expand("%:p:t:r").s:Exe_Extension
else
let Exe = expand("%:p:r")
let Exe_Name = expand("%:p:t:r")
endif
let v:statusmsg = ''
if filereadable(Obj) && (getftime(Obj) >= getftime(Sou))
redraw!
if !executable(Exe) || (executable(Exe) && getftime(Exe) < getftime(Obj))
if expand("%:e") == "c"
setlocal makeprg=gcc -o %< %<.o
echohl WarningMsg | echo " linking..."
silent make
elseif expand("%:e") == "cpp" || expand("%:e") == "cxx"
setlocal makeprg=g++ -o %< %<.o
echohl WarningMsg | echo " linking..."
silent make
endif
redraw!
if v:shell_error != 0
let s:LastShellReturn_L = v:shell_error
endif
if g:iswindows
if s:LastShellReturn_L != 0
exe ":bo cope"
echohl WarningMsg | echo " linking failed"
else
if s:ShowWarning
exe ":bo cw"
endif
echohl WarningMsg | echo " linking successful"
endif
else
if empty(v:statusmsg)
echohl WarningMsg | echo " linking successful"
else
exe ":bo cope"
endif
endif
else
echohl WarningMsg | echo ""Exe_Name"is up to date"
endif
endif
setlocal makeprg=make
endfunc
func! Run()
let s:ShowWarning = 0
call Link()
let s:ShowWarning = 1
if s:Sou_Error || s:LastShellReturn_C != 0 || s:LastShellReturn_L != 0
return
endif
let Sou = expand("%:p")
let Obj = expand("%:p:r").s:Obj_Extension
if g:iswindows
let Exe = expand("%:p:r").s:Exe_Extension
else
let Exe = expand("%:p:r")
endif
if executable(Exe) && getftime(Exe) >= getftime(Obj) && getftime(Obj) >= getftime(Sou)
redraw!
echohl WarningMsg | echo " running..."
if g:iswindows
exe ":!%<.exe"
else
if g:isGUI
exe ":!gnome-terminal -e ./%<"
else
exe ":!./%<"
endif
endif
redraw!
echohl WarningMsg | echo " running finish"
endif
endfunc

怎麼用有注釋,直接放到你vimrc文件的最後就可以

㈢ vim能編譯C語言的文件嗎

這個東西在linux下用得比較多吧,它就像是一個類似於txt的文本編輯工具,似乎不能實現編譯的功能……我剛剛學C的時候記得有一個叫win-TC的工具,比較小,而且支持滑鼠操作,對初學者比較方便,不過對C的語法要求比較高。

㈣ 在VIM裡面是怎樣編譯C語言的文件

IDE包括了編輯器,自動為你做了很多事情。就像你如果在WIN下用editplus等編輯器寫代碼,也要你保存之後再用編譯器編譯文件。
linux下也有很多IDE。。。vim也可以通過配置打造成IDE

㈤ 怎麼在linux下用vim編寫一個C程序

先在終端中輸入

vim
test.c

回車進入vim編輯器,再按一下a鍵,進入編輯狀態,然後輸入如下C語言語句:
#include<stdio.h>
int
main()
{

printf("hello
world!\n");
}
到此,按esc鍵退出編輯狀態,再輸入一個冒號(shift
+
冒號分號那個鍵),緊跟著輸入
wq
,即
輸入

:wq

按回車,即推出vim編輯器回到終端命令窗口(類似xp的命令提示符),
之後輸入

gcc
test.c
,這步是編譯

./a.out

這是執行,將會輸出
hello
world!
到此結束,前提是你已經安裝gcc

㈥ 如何用vim編寫c語言

直接輸入,結束後保存為.c文件即可。vim的缺點是不支持漢字等UTF字元,用英語寫是沒有問題的。

㈦ 使用vim編輯一段c語言代碼並保存

可以,touch demo.cpp
vim demo.cpp
隨便寫點啥,比如著名的printf{"helo word!"};
然後,按鍵(忘是啥了),然後給wq!就保存並退出了

㈧ linux終端下如何進行C語言編譯

1、首先在linux下判斷是否安裝gcc編譯器,直接執行:gcc -v,判斷是否安裝gcc。

㈨ 在VIM裡面是怎樣編譯C語言的文件

一、首先要會使用vim編寫一個c文件
1.在linux終端下輸入:
vi
test.c
表示生成了一個test.c的c語言文件
2.此時時命令模式,按"a"鍵或者"i"進入輸入模式,然後就是輸入C語言代碼
3.保存文件,再次回到命令模式,按"ESC「鍵,然後按":"鍵再輸入"wq」表示保存退出
二、然後在用gcc編譯test.c文件
直接輸入
gcc
-o
mytest
test.c即可
表示直接生成mytest執行文件

㈩ 如何將VIM配置成適用C語言的IDE

~/.vimrc 里添加一下內容

set autoindent
set cindent
set modeline
set ruler
set showcmd
set showfulltag
set showmode
set smartcase
set smartindent
set imcmdline
set previewwindow
set hlsearch
set number
set ts=4
syntax on

直接用vim進行代碼編輯就可以了。
然後使用gcc編譯器進行編譯。

閱讀全文

與vim可以編譯c語言嗎相關的資料

熱點內容
手游我的世界租的伺服器怎麼添加mod 瀏覽:552
java中的Ascii 瀏覽:497
php白盒測試工具 瀏覽:574
男人命令女人 瀏覽:166
全球編程語言排名 瀏覽:785
某百度程序員中午面試 瀏覽:614
程序員劉亦菲的樣子 瀏覽:303
java獲取伺服器的時間格式 瀏覽:69
什麼是java中的多態 瀏覽:330
html包含php文件 瀏覽:359
程序員睡覺少感覺不到困 瀏覽:921
空調壓縮機工作電壓 瀏覽:202
夢幻西遊浙江二區伺服器雲主機 瀏覽:250
什麼樣的人才叫程序員 瀏覽:125
ipad如何解壓縮文件下載 瀏覽:225
知網程序員 瀏覽:706
怎麼把電子版投標報價加密 瀏覽:33
電腦安全編譯器 瀏覽:369
在伺服器里如何調創造 瀏覽:839
知雲登錄為什麼找不到伺服器 瀏覽:819