做為嵌入式軟體開發者,我想許多人會和我一樣,在選擇開發工具時徘徊過。因為嵌入式軟體的開發和pc上的軟體開發很不一樣。特別是windows軟體開發時,可以有許許多多的整合開發環境可以選擇。有時候甚至是不需要思考的選擇。比如你要開發mfc程式,那麼你的選擇只有vc++。
嵌入式開發還有乙個特點,就是開發環境經常會發生改變。這個專案在windows下開發,下乙個專案可能就轉向linux了。因此,我這裡要選擇的是乙個在windows和linux下使用方式保持一致的開發工具。因為你一旦熟悉了一種開發環境,你就可以高效的進行**開發。
擺在眼前的,有兩個非常優秀的ide:eclipse和emacs。這兩者都是跨平台的。而且這兩者在世界範圍內有著十分廣泛的使用者。我的選擇是emacs。當然,並不是說eclipse不好。因為我不是很了解eclipse,也暫時沒有時間去學。
本文主要教你一步步搭建強大而方便的emacs開發環境,針對c/c++語言和windows作業系統。linux下搭建方法類似,並且更為方便,因為一般的linux發行版都帶有emacs。
獲得emacs
emacs有兩種主流版本,乙個是gnu emacs,乙個是xemacs。其中gnu emacs使用者較多,我們一般說的emacs就是gnu emacs。以下說到的emacs就預設是gnu emacs了。
。這個版本有乙個問題,你必須設定home系統變數,將其設定為c:/
獲得輔助外掛程式
純粹的emacs已經足夠強大,借助其cc-mode已經可以進行c/c++開發。但是我們前面說過,要進行高效的開發。那麼,我們需要一些輔助的「外掛程式」。
cscope:這是乙個可以使emacs實現類似source insight那種符號查詢等功能的軟體。它最常用的功能就是找到任何乙個變數、函式、結構體等是在**被定義,被引用的。cscope的官方**在
cedet+ecb:這兩個「外掛程式」無比強大,專門為emacs作為ide而設計的。我現在只使用了其中很小一部分功能,就領略到了它帶給我的高效。官方**:
配置emacs
(require 'xcscope) ;;載入xcscope
(require 'cedet) ;;載入cedet
(require 'ecb) ;;載入ecb
(require 'session) ;;載入session
(add-hook 'after-init-hook 'session-initialize) ;; 啟動時初始化session
(require 'doxymacs) ;; 啟動doxymacs
(add-hook 'c-mode-common-hook 'doxymacs-mode) ;; 啟動doxymacs-mode
(add-hook 'c++-mode-common-hook 'doxymacs-mode) ;; 啟動doxymacs-mode
(desktop-load-default) ;;讀取預設desktop設定
(desktop-read) ;;讀取當前目錄儲存的desktop設定
(set-face-background 'default "lightcyan3") ;;設定背景色為 淺青色3
(set-face-font 'default "-outline-新宋體-normal-r-normal-normal-*-*-96-96-c-*-iso8859-1") ;;設定字型為新宋體 ( only for windows )
(global-set-key [f12] 'ecb-activate) ;;定義f12鍵為啟用ecb
(global-set-key [c-f12] 'ecb-deactivate) ;;定義ctrl+f12為停止ecb
(global-set-key [f11] 'delete-other-windows) ;;設定f11為刪除其它視窗
(global-set-key [(meta return)] 'semantic-ia-complete-symbol-menu) ;;設定alt+enter為自動補全選單
(global-set-key [c-/;] 'ecb-goto-window-edit-last) ;;切換到編輯視窗
(global-set-key [c-/'] 'ecb-goto-window-methods) ;;切換到函式視窗
(global-set-key [c-.] 'cscope-find-global-definition) ;;搜尋定義
(global-set-key [c-,] 'cscope-pop-mark) ;; 跳出轉向
(enable-visual-studio-bookmarks) ;; 啟動vs書籤子程式
;;(setq semanticdb-project-roots (list "d:/work")) ;; 設定cemanticdb的掃瞄根目錄
(add-hook 'c-mode-common-hook ( lambda() ( c-set-style "k&r" ) ) ) ;;設定c語言預設格式
(add-hook 'c++-mode-common-hook ( lambda() ( c-set-style "k&r" ) ) ) ;;設定c++語言預設格式
常用快捷鍵
(這部分還沒有時間寫,事實上學習emacs基本上就是學習其快捷鍵和命令。這些東西網上有很多,書上也有很多)
參考資料
《學習gnu emacs》機械工業出版社
《生活在emacs中》ibm開發者網
配置opencv eclipse整合開發環境
軟體版本 ubuntu 14.04 lts opencv 2.4.9 eclipse 4.4 安裝opencv 解壓到opencv2.4.9 src 用cmake生成到opencv2.4.9 build 在opencv2.4.9 build裡make 在opencv2.4.9 build裡make ...
docker swarm建立本地整合開發環境
在k8s出現之後,docker swarm使用的人越來越少,但在本地整合開發環境的搭建上,使用它還是比較輕量級的,它比docker compose最大的好處就是容器之間的共享和服務的治理,你不需要links容器,也不知道關心失敗之後的重啟,這些都於swarm來實現。對於docker compose和...
Linux安裝phpstudy整合開發環境
centos安裝指令碼 yum install y wget ubuntu安裝指令碼 wget o install.sh https sudo bash install.sh deepin安裝指令碼 wget o install.sh https sudo bash install.sh debia...