2010-10-01 55 views
0

我是一名在linux和編程方面的新手。我想學習linux命令,並使用Windows XP創建一些C和C++程序與linux API進行交互。但是,我不確定如何從基於Windows的計算機設置環境。從Windows學習Linux新手問題

我應該安裝什麼程序?此外,它似乎像Linux有Ubuntu,Fedora。我也聽說過紅帽。有什麼區別,我應該安裝哪一個?

此外,使用Linux與Ubuntu等用戶界面,使用IDE創建程序以及使用VIM創建程序的命令行終端之間是否有區別?

此外,我聽說過使用Valgrind來調試程序。 Valgrind是否與Ubuntu中的IDE一起工作或僅在命令行終端工作?如果我的IDE已經有調試器,我還需要Valgrind嗎?

對不起,這樣的新手問題。

謝謝。

+1

debugger!= valgrind – drahnr 2010-10-01 14:27:11

+0

你在問什麼?幾十個Linux發行版中的哪一個最適合你?看來你從未編程過C/C++。爲什麼你想要使用Linux?你知道你可以通過Cygwin(http://www.cygwin.com)獲得大多數Windows命令行Linux工具嗎? Valgrind不是一個通用的調試器,而是一個查找非常特定錯誤的工具。 Linux上的通用調試器是GDB,大多數IDE都帶有GDB前端或他們自己的調試器,所以不需要,你不需要它。 – DevSolar 2010-10-01 14:30:23

+0

使用gdb進行調試,它是在* nix平臺上調試的終極工具。 NetBeans是一個用於Linux平臺的IDE,如果你需要一個IDE,你更像一個Windows用戶。 – DumbCoder 2010-10-01 14:32:47

回答

1

嘗試使用VM或live-cd。

Valgrind是一個命令行工具,但也許一些IDE使用集成它。

在Linux下你會看到,比大多數時候IDE都是無用的(而不是巨魔)。 你會手動執行你的Makefile,...

希望你會喜歡'它。

問候,

+0

感謝您的回覆。對於使用IDE,不是像Visual Studio中的intellisense那樣有助於代替純文本編輯器嗎? – jake 2010-10-01 14:44:23

+0

Intellisense是集成到Windows中的文本編輯器的一項功能。文本編輯器可以做的不僅僅是輸入字符。 – 2010-10-01 16:43:53

0

如果你嘗試在虛擬機(VirtualBox或WMWARE爲例),你可以測試你決定將要使用的Linux發行版之前,你要儘可能多的選擇。有很多,但從你列出的內容來看,我的個人觀點是Ubuntu比Fedora更容易啓動。我從來沒有使用過RedHat,所以我不能說,但它沒有成爲困難的聲譽(專家)。
無論如何,至少要開始,我建議使用GUI安裝它(並且在啓動之後,除非它是服務器...)。

關於IDE,你可以試試Eclipse和Netbeans。他們在Windows和Linux上運行,但我不是C/C++程序員,所以我不知道他們是否擅長這項工作。我不使用IDE,Vim遠不是唯一的選擇(Vim「addicts」:)會說它是獨一無二的,但是這是個人選擇,學習時間不是很短)。 Personnaly我更喜歡一個好的IDE或至少是圖形編輯器來編程,而不是我不喜歡命令行終端的強大功能和速度,因爲我更喜歡用它來進行系統管理或配置,而不是用於編程的地方,很長一段時間。

我不知道Valgrind,但Eclipse或Netbeans IDE當然有調試器。

+0

Fedora從RedHat 9出來......所以它們幾乎是一回事。我最近還沒有測試過Fedora和RedHat,但他們對我來說依然「失敗」,不同之處在於RedHat更加「面向企業」。 – 2010-10-01 15:37:49

1

一次學習1件東西。

  • 如果您想先學習編程,請先嚐試python。它可以在Windows和Linux上運行,並且更快得到結果
  • 如果您想學習C++,可以獲得Visual C++ express或Cygwin/GCC
  • 如果您想體驗Linux,請獲取您選擇的發行版(Linux-Mint是一個很好的introction,從窗戶進來),並嘗試在虛擬機(VMWare的播放器或VirtualBox的)
  • 嘗試使用簡單的項目,只有在此之後,擔心調試
7

你的問題很模糊,容易啓動辯論和戰鬥。此外,在你開始使用Linux編程之前,你錯過了許多術語,你應該先熟悉操作系統,特別是終端......但首先,Windows C/C++編程並不完全相同作爲用於Linux的C/C++編程。如果你想要後者,那就用後者。

我的建議是這樣的:

  1. 抓住VirtualBox並安裝它。
  2. 下載Ubuntu;恕我直言,Ubuntu最適合初學者(或者其他任何人),因爲它有很多支持,很好的用戶基礎,並且與幾乎任何Linux軟件安裝程序(RPM,deb等)兼容。您可以選擇任何其他分佈,這並不重要,但我推薦這個。 [1]
  3. 啓動VirtualBox並創建一個新的Ubuntu虛擬機。步驟非常簡單,請參閱documentation尋求幫助)。您的虛擬機可能如下所示:
    • 1GB的RAM就足夠了;
    • 10GB的硬盤(你不會需要得多,但你可能會增加的大小,如果你認爲你需要更多的空間/home,見下點)
    • 網絡適配器設置橋接
  4. 從你剛纔下載的ISO(您已經安裝在VirtualBox的爲CD-ROM設備)安裝Ubuntu您只需要有關硬盤共有8GB爲典型,最小Ubuntu安裝(ext4 + swap),但是我推薦this setup
  5. 享受您的安裝。 (提示:現在你可以安裝VirtualBox的客戶添置)
  6. 打開您的Ubuntu的VirtualBox窗口終端輸入sudo apt-get install build-essential安裝GCC編譯
  7. Gedit是已經默認與Ubuntu的安裝,這是一個相當不錯的文本編輯器與Windows的記事本相比。但是,vim不是,但你可以在終端中安裝sudo apt-get install vim

和voilà!你們都準備在Linux環境下進行一些C/C++編程,在那裏你仍然可以擁有Windows,以防你陷入困境。

我還建議你使用終端(也稱爲命令行)來完成大部分的學習,這樣你就知道事情是如何工作的。 然後,當您熟悉GCC編譯器,MAKEFILE等時,您可以安裝一些IDE以避免重複執行任務;我還沒有找到的兩個最好的是AjuntaMonoDevelop。兩者都可以從存儲庫中獲得。現在,如果您想「創建一些C和C++程序來與[您的] Windows XP中的Linux API進行交互」,您需要學習套接字和SSH;例如,所以你可以從你的Windows機器連接到你的Linux機器,並從Windows應用程序遠程執行一些命令。但在你做之前,學習C/C++並且玩弄Linux。對於一個新手來說,你已經有了你的雙手。

祝你好運!


[1] Ubuntu(一個Linux distribution)附帶Gnome作爲GUI,而KubuntuKDEXubuntu具有XFCE。所有這些(GUI)都是獨立的項目,您可以將它們全部安裝在任何Linux桌面安裝上。甚至,你不要需要任何Linux發行版的GUI;例如,VMWare的Virtual Appliance Marketplate就有這樣一大堆隨時可用的Linux安裝。

0

編程用於Linux的一系列項目的學習,爲的步驟,您可以參考:

  1. 紅帽認證系統管理員I&II學生的書,可以幫助你獲得生存的能力在Linux中,實際上,當你真正瞭解這些課程所涵蓋的領域時,你將有能力找到學習內容。
  2. 搜索關鍵字'Linux編程'的亞馬遜,選擇一個,開始你的旅程。

祝您旅途愉快。