Linux下用Vim進行C C

2022-03-20 23:42:34 字數 2744 閱讀 8492

總結:安裝vim --> 配置  /etc/vim/vimrc 檔案使得vim能夠支援語法高亮、自動縮排等等功能。木目前使用的 vimrc 配置檔案的內容如下,進行基本的 c/c++ 程式設計已經足夠了。

"語法高亮顯示

syntax enable

syntax on    

set background=dark

set nocompatible

set number

"檢測檔案的型別

filetype on

"記錄歷史的行數

set history=1000

set cursorline

"set autoindent

set cindent

"設定c/c++語言的具體縮排方式

set cinoptions=

1。對於這個.cpp檔案,使用以下的命令進行檔案的編譯:

gcc -wall test.cpp -o  test -lstdc++ (必須加上 -lstdc++ 選項用來通知鏈結器鏈結靜態庫 libstdc++.a,否則會因為找不到庫函式而出錯)

或者直接使用編譯c++(.cpp)檔案專用的命令g++,如下:

g++ -wall test.cpp -o  test

==============

該命令將檔案『test.cpp』中的**編譯為機器碼並儲存在可執行檔案 『test』中。機器碼的檔名是通過 -o 選項指定的,該選項通常作為命令列中的最後乙個引數。如果被省略,輸出檔案預設為 『a.out』。

注意到如果當前目錄中與可執行檔案重名的檔案已經存在,則它將被覆蓋。

選項 -wall 開啟編譯器幾乎所有常用的警告──強烈建議你始終使用該選項。編譯器有很多其他的警告選項,但 -wall 是最常用的。預設情況下gcc/g++不會產生任何警告資訊。當編寫 c 或 c++ 程式時編譯器警告非常有助於檢測程式存在的問題。

本例中,編譯器使用了 -wall 選項而沒產生任何警告,因為示例程式是完全合法的。

另外:如果一開始建立了乙個「test.c」的c語言型別的檔案,內容如下;

#include

int main(void)

編譯時使用「gcc -wall test.c -o testc」命令。另外必須注意的是,在c檔案中不能出現c++的庫,比如#include 就會報錯,但是cpp檔案包含c語言的庫卻是可以的。

==============

2.執行:

$ ./test

==============

這個命令將可執行檔案載入記憶體,並使 cpu 開始執行其包含的指令。 路徑「./」指代當前目錄,因此「./test」 載入並執行當前目錄下的可執行檔案 『test』。

==============

執行結果為:hello, world

(三)編譯多個原始檔

1.多原始檔檔案示例

將上面的"test.cpp"分解為三個不同的檔案『main.cpp』、『test_fn.cpp』和標頭檔案『test.h』。

(1)主程式『main.cpp』如下:

#include "test.h"

int main()

(2)函式宣告檔案"test.h"如下內容:

void test(const char* name);

(3)函式實現檔案"test_fn.cpp"的內容如下:

#include

using namespace std; 

#include "test.h"

void test(const char* name)

嘗試單獨從該檔案生成乙個可執行檔案將導致乙個鏈結階段的錯誤:

$ gcc -wall calc.c -o calc

/tmp/ccbr6ojm.o: in function 'main':

/tmp/ccbr6ojm.o(.text+0x19): undefined reference to 『sin』

函式 sin,未在本程式中定義也不在預設庫『libc.a』中;除非被指定,編譯器也不會鏈結『libm.a』。

1. 法一

為使編譯器能將 sin 鏈結進主程式『calc.c』,我們需要提供數學庫『libm.a』。乙個容易想到但比較麻煩的做法是在命令列中顯式地指定它:

$ gcc -wall calc.c /usr/lib/libm.a -o calc

函式庫『libm.a』包含所有數學函式的目標檔案,比如sin,cos,exp,log及sqrt。鏈結器將搜尋所有檔案來找到包含 sin 的目標檔案。一旦包含 sin 的目標檔案被找到,主程式就能被鏈結,乙個完整的可執行檔案就可生成了:

$ ./calc

the value of sin(2.0) is 0.909297

可執行檔案包含主程式的機器碼以及函式庫『libm.a』中 sin 對應的機器碼。

2. 法二

為避免在命令列中指定長長的路徑,編譯器為鏈結函式庫提供了快捷的選項『-l』。例如,下面的命令

$ gcc -wall calc.c -lm -o calc

與我們上面指定庫全路徑『/usr/lib/libm.a』的命令等價。

一般來說,選項 -lname使鏈結器嘗試鏈結系統庫目錄中的函式庫檔案 libname.a。乙個大型的程式通常要使用很多 -l 選項來指定要鏈結的數學庫,圖形庫,網路庫等。

linux下用vim編寫C C 單個源程式

一 在終端直接用vim編寫c程式 在某路徑下開啟乙個終端,或開啟終端後進入你想存放原始檔的路徑,然後 root localhost vim hello.c 接下來就可以輸入源程式了,這裡我們用乙個最簡單的程式做例子。include int main 然後按esc,再輸入 w 儲存檔案,再 q 退出。...

Linux下進行C C 程式設計

從網上找到了乙個叫做slax的linux系統,體積只有200多m。它是基於debian的。在u盤裡解壓映象,然後雙擊乙個bat檔案把系統裝在u盤裡了,以後不用的時候直接把整個檔案刪掉就行了。開機時設定u盤優先啟動,就可以使用這個系統了,免去了裝多系統的麻煩。不過,我怎麼也不知道如何開啟及連線wifi...

用VIM編寫C C 程式

vi是unix下最常用的文字編輯器。vim vi improved 則是它的增強版。有人常常拿vim和emacs比較,vim儘管不象emacs那樣有那麼多的功能,但是比emacs更方便 好用。用過emacs的人肯定會為emacs的一些快捷鍵感到煩惱,有時候用真希望自己有八隻手。vim的學習曲線也不象...