1 先安裝gcc。
我每次安裝Debian,都先用tasksel安裝gcc,我認為一個Linux系統如果沒有G
cc就寸步難行,如果沒有的話,就用tasksel或是:
#apt-get install build-essential
#cat test1.c
#include <stdio.h>
main()
{
printf(“Hell!”);
}
編譯運行如下:
# gcc –o test1 test1.c
# ./test1
#include <iostream>
int main()
{
std::cout<<”Hello!”;
return 0;
}
編譯運行如下:
# g++ –o test2 test1.cpp
# ./test2
Rhide是一個最負盛名的Linux編程集成環(huán)境,注意它只是一個編程的集成環(huán)境
而不是編譯器---它自動使用gcc作為編譯器。Rhide的最大的優(yōu)點是它的界面完全和
Borland C++一樣,包括所有的菜單和快捷 都一樣,稍微有點年紀的電腦程序設
計者我相信都會對Borland的早期DOS時代的經典編程產品懷著一種猶如對初戀情人
一般的感覺的,Rhide正好滿足了人們的這種懷舊心理,但它對新來的編程者也絕
對是最好的工具。
但是Rhide沒有出現在Etch的安裝源當中,在非官方源當中也沒有找到,其官
6
方網站提供的deb已經由于包的依賴關系不能解決而無法安裝,如果自己編譯源碼
的話特別麻煩。特別是該開源軟件自從2003
#apt-get install fp-compiler fp-ide fp-units*
這樣把所有的FreePascal所需要的程序、支持庫、IDE集成環(huán)境都安裝好了,用
戶可以在遠程---無論是Linux系統還是以Windows系統----以telnet或者是ssh的方
式使用該環(huán)境了。
下面是某遠程WindowsXP用戶使用putty軟件,利用SSH登錄使用的截圖:
#cat test3.pas
PROGRAM test3(Input,Output)
BEGIN
Writeln(‘Hello World!’)
END.
Compile?Target中把缺省的目標程序類型DOS類修改為Linux for i386。
接著測試編譯c程序。用gedit隨便寫了個test.c,從終端進入test.c所在目錄,輸入gcc test.c -o test,提示ld: crt1.o找不到,在網上搜索了一下,有人說是libc6-dev沒有裝造成的。于是開始裝libc6-dev,安裝方式是在終端輸入apt-get install libc6-dev,之后會提示插入安裝盤什么的,照提示做就成了,最后提示安裝成功。這下再編譯就成功了,在當前目錄下生成了一個test的文件。輸入./test執(zhí)行程序,一切正常。
再接著就是測試c++程序了。用gedit隨便寫了個test2.cpp,輸入gcc -test2.cpp -o testcpp,提示'std::ios_base::Init::Init()'未定義,猜想是c++開發(fā)包沒有安裝。在軟件包管理里面查看了一下開發(fā)庫,果然有一個libstdc++6-4.1-dev沒有安裝。照安裝libc6-dev一樣的方法,輸入apt-get install libstdc++6-4.1-dev安裝。再次編譯,還是提示了一大堆錯誤,想想可能是編譯方法不對,果然有人說編譯c++應該加一個-lstdc++的參數,于是輸入gcc -test2.cpp -o testcpp -lstdc++編譯,果然成功了。輸入./testcpp執(zhí)行程序,一切正常。
小結一下:
1. 確保已安裝了某個版本的gcc并且/usr/bin下存在gcc快捷方式;
2. 確保已安裝了c開發(fā)包libc6-dev。如果沒有安裝則通過apt-get install libc6-dev命令進行安裝;
3. 確保已安裝了c++開發(fā)包libstdc++6-4.1-dev。如果沒有安裝則通過apt-get install libc6-dev命令安裝;
4. 編譯c程序基本命令:gcc 文件名.c -o 輸出文件;
5. 編譯c++程序基本命令:gcc 文件名.cpp -o 輸出文件 -lstdc++;
6. 運行程序:./程序名。