小序:
最近這些天總有朋友問我怎麼不寫C#的東西了,呵呵,是這樣的——今年的年度計劃中我把「年度技術主題」定爲了C++語言,因此學習的內容就偏重C++了——顯然,去年的主題是C#。固然啦,溫故能夠知新,因此我也會時常對照着C++來反思所學過的C#內容。好比:我還欠你們一個例子,那就是多播委託用C++函數指針的實現(確切地說是「函數指針數組」)。還有,前段時間Sidney提醒我關於「智能指針」的知識,最近也要看看。再加上學習完COM的結構與原理,返回來再看C#/.NET的Interop會更加深刻透徹……總之,呵呵,以C++爲主、溫習C#,只賺不賠!
正文:
從來有文推薦學習XXXX語言的時候,不要使用IDE——要使用純文本編輯器+編譯器——這纔夠「初級」、夠「基礎」、夠……唉,總之一句話,這纔夠「酷」!爲何呢?由於全部隱藏在背後的東西你都看到啦!
看看,程序員的鑽研精神又在做怪了吧!真的是凡事都看透徹就是好的嗎?未然吧……要不咱們還穿什麼衣服?(說笑了……)我是說,保持必定的、
健康的隱藏不是很好嗎?實際上C++等諸多面向對象語言不就是這樣的思想嗎:把數據封裝起來,不讓它用戶可以直接接觸到它。何況,對於新手,你讓他看到那麼多看不懂的信息八成是會嚇着人家的,何須呢?出一個bug就嚇人家一身冷汗、嘩啦嘩啦滾好幾屏的錯誤信息……這樣作只能讓C++失去更多的朋友。Java就是由於這樣而失去了一個偉大的支持者——我!
我的觀點,初學者仍是使用IDE吧,好比:Visual C++ 2005 Express 或者 Dev-C++。特別推薦學校同窗使用Visual C++ 2005 Express,免費的!絕對正版,呵呵,我們少給學校找麻煩嗎:)
不過話又說回來,當你玩兒了一段時間某種語言的IDE以後,的確應該看看究竟是什麼東西under the hood。這時候真的應該使用純文本編輯器+編譯器了——用純文本編輯器把源代碼寫好,再進入命令行模式把源代碼分塊編譯、連接……最好是全手動的,這時候你會體驗到爲何#include後面能夠跟<>還能夠跟""——原來全是編譯器的參數在做怪,而這些東西又都被IDE塞到hood下面了。
純文本的編輯器太多了,選哪一個?呵呵,這就跟在CS裏選槍同樣——你選哪條都有人誇它好也保證有人會罵它臭。我選了UltraEdit,目前最新版是12.20b,爲何選它?一是口碑好,二是公司買了批量註冊號。
安裝好以後,新建一個文件,試着往裏面輸入幾個C/C++關鍵字,喲!沒反應……保存一下,在保存的時候存爲後綴爲「.cpp」,回來以後關鍵字就已經彩色高亮了。又試着寫了個Hello World,再用編譯器編譯一下,嗯——順利經過。感受還不錯!
不過,使了這麼多年的微軟IDE,已經被微軟慣壞了,看着UltraEdit的代碼怎麼那麼醜,並且沒有代碼的自動提示……特別是有一點最招人煩:不管在什麼地方,右花括號總會向右縮進一個Tab——這叫什麼格式啊?真讓人惱火。
不要緊!我改!打開幫助文檔,找到相關內容看了一遍,優化了一些;又在網上「咕嘟」(
Google+Bai
du)了一下,找到一些信息。因而作了如下的配置:
- 打開配置UE對話框的操做是:Advanced -> Configuration...
- 在左邊的分支中找到Editor
- 把Auto-complete中的Show auto...一項選中,開啓自動完成功能,我感受比VC的也不差!
- 在Word Warp/Tab Settings裏能夠調整Tab與空格的比例,有些跨平臺的項目要求只能用空格、不能用Tab。
- 在左邊的分支中找到Editor Display
- Code Folding是管代碼摺疊的,能夠按照本身喜愛來定製一下。
- Formatting裏的Auto indent new line是當你按下Enter鍵折行後的縮進狀況,由UE安裝目錄下的wordfile.txt文件裏的參數決定。打開wordfile.txt
- /Indent Strings = "{" "if" "else" ":" 是說在哪些字符後折行,下一行會縮進。只保留冒號就OK了。若是連冒號也不保留,又會出毛病,不知道問題在哪裏。
- /Unindent Strings = "}" 是說在哪些字符後折行回減小縮進,對應的上面一行。上面的左花括號已經刪了,天然這個也應該刪除。
- 若是有興趣,能夠再本身調整別的參數——很好玩滴~~~
- Syntax Highlightinging裏能夠設置你喜歡的彩色高亮。把Highlight new file as選成C/C++,這樣只要一打開新文件,它就按照是C/C++文件對待了,不用先保存成.cpp。
- 最後,若是你想調整編輯器的字體——不在這裏——在UE主菜單的View->Set Font...裏。本身選一個漂亮的字體吧:) 我用的是Georgia 14 斜體,代碼看上去頗有藝術風格——VC可作不到這點!它不支持斜體!每次我提意見給MS,收到的回答都是:Thanks, we will implement it in NEXT version,並且是從VS2002開始。
好啦,這時候再看看咱們的代碼,唔!多漂亮!你們還有什麼好的優化方法,也拿出來在後面跟貼吧!
法律聲明:
本文章受到知識產權法保護,任何單位或我的若須要轉載此文,必需保證文章的完整性(未經做者許可的任何刪節或改動將視爲侵權行爲)。若您須要轉載,請務必註明文章出處爲51cto和
CSDN
以保障網站的權益;請務必註明文章做者爲
劉鐵猛
(
[url]http://blog.csdn.net/FantasiaX[/url]
),並向
[email]liutm@beyondsoft.com[/email]
發送郵件,標明文章位置及用途。轉載時請將此法律聲明一併轉載,謝謝!