2009-10-23 177 views
0

我必須編寫一個C/C++應用程序。我在我的機器上安裝了windows和linux(ubuntu 9.04),並且可以在它們兩者中編程(通過gcc/code blocks/vim等)。問題是可執行文件將在Unix(而不是Linux)機器上運行(將在大約20天內訪問它)。遠程編程和調試

我的團隊負責人不希望所有的代碼都在linux下編程 - unix。所以,其中的一些必須在Windows中開發(然後很多祈禱會隨之發生,以免發生任何不好的事情)。

我想出的最好的東西就是在服務器上遠程編程,從windows和linux,所以每個程序員(只有我在接下來的2周)是有點高興。 在Windows中,我認爲我堅持膩子,但有沒有在Linux上的其他選擇,而不是ssh-vim? 。

我看了這個Remote debugging with Eclipse CDT,但它沒有帶來太多的亮點。至少沒有多少希望。

還有一個問題。我不認爲C/C++是一種便攜式語言。至少對於真正的節目。當然,它編譯,但許多問題出現,即使在boost/stl。我沒有仔細查看代碼,但仍然,我是多麼的錯誤?

任何提示將不勝感激。 在此先感謝。

+0

在* nix中編程/開發是什麼意思?你真的在談論你的開發環境和工具嗎?或者你在談論編譯環境,二進制目標? – 2009-10-23 03:19:48

+0

二元目標。我想知道如何在那裏從我的本地機器編譯一個好的環境 – Tom 2009-10-23 04:07:27

回答

1

你可以ssh w/xming作爲遠程機器上的gui ide /編輯器。

如果所有的代碼都是一個遠程機器並在那裏編譯,那麼您不必擔心開發人員嘗試使用相同的資源嗎?如果您使用xming,機器/網絡也可能無法處理多個ssh連接?

+0

是的,網絡是一個問題。不幸的是,我不知道,直到我測試它。 – Tom 2009-10-23 04:08:23

1

如果您可以說服您的系統管理員安裝這些庫(不需要X服務器),那麼您可以使用SSH進行X轉發,這將允許您遠程執行X應用程序並讓它們出現在本地服務器上。如果你在本地使用Linux,你可能已經在運行X了,如果你使用的是Windows,你可以使用Xming服務器(通過一些配置讓它接受遠程連接)。對於調試,如果您需要單獨的shell,只需設置另一個SSH實例並從另一個進程執行調試即可。

至於可移植性,這取決於你正在嘗試做什麼。如果你只想要一個簡單的基於控制檯的應用程序,你不應該遇到任何主要的可移植性問題。如果您使用更復雜的代碼,可移植性主要取決於兩件事情。首先是庫的選擇 - 當然,你可以在Wine上運行爲Linux上的Win32編寫的應用程序,或者實際上用Winelib編譯它們,但這不是一個愉快的體驗。如果您選擇像Qt或gtkmm這樣更便攜的產品,您將會有更輕鬆的時間。同樣,對於文件系統代碼 - 使用像Boost.Filesystem這樣的庫會使事情變得簡單得多。第二件事對可移植性產生很大影響的是,請遵循文檔。很難強調這一點 - 很多你錯誤地做的事情會在不同的平臺上產生不同的結果,特別是當你使用不做檢查的庫時(注意:我強烈建議你根據調試標準庫檢查代碼)。我曾花了近一段時間來追蹤一個由於某人沒有閱讀文檔並傳遞一個無效參數而引發的可移植性錯誤。

1

如果您想使用遠程桌面設備,請嘗試VNC www.realvnc。com 或萬一它只是一個遠程登錄蜂鳥,EXceed可以幫助

1

不知道這是否會有所幫助,但請看一看sshfs。我自己並沒有必要使用它,但我已經閱讀過其他人使用它來通過ssh訪問遠程文件和目錄,並在本地處理這些文件。我推測你可以通過sshfs訪問遠程主目錄,然後使用本地工具來處理源文件。我非常希望知道這是否可行,所以如果你給它一個鏡頭,請回復。

+0

我目前使用sshfs遠程工作,但以vim作爲ide。我會深入研究一下。謝謝 – Tom 2009-10-23 17:19:33

0

我使用No Machine NX,它爲您提供了遠程機器的整個桌面。它也有一個Windows客戶端。我星期五從家裏遠程工作,所以我現在正在使用它。您必須將其安裝在遠程計算機上,然後在Windows或Linux計算機上安裝客戶端。