windowsemacs編譯
A. 如何在GNU Emacs環境下編譯並運行C/C++程序
學習C/C++的朋友有沒有想過完完全全的在linux環境下開發軟體!?我想過,可能是因為個人對Windows平台有些偏見,或者說個人不是非常喜歡
在Windows下寫程序的感覺,總覺得有那麼一層膜隔閡著我們,不像Linux,可以做強大的伺服器,在終端下只需要使用簡簡單單的命令便能完成相當復
雜的事情,是不是感覺很高深!?還有很多很多開源項目,Emacs也算一個吧!!!
呵呵,談到在Linux下編程,我們不得不提這兩款編輯器:vi/vim和Emacs(確切的說Emacs的功能已經遠遠超出了編輯器,使用它我們可能收
發郵件,玩游戲,排版等等)。Emacs的強大不得不讓我們對設計出該編輯器的大師們發出崇高的敬意和贊嘆,Emacs強大之處不僅僅局限於編輯功能,還
提供的許多自定義選項,還有我們可以不需要動滑鼠便可完成日常工作(對於大多數人來說這可能不太現實),下面我只是簡要的介紹如何使用Emacs編譯/運
行C/C++程序,文中相關命令可以參考本人其他博文。
Emacs有很多版本,如Gnu Emacs、XEmac等等。而且Emacs在各個平台下均能表現的非常出色,前提是你要熟悉它。
首先,再次說明本人所使用的操作系統是rhel 6.2,已經安裝GNU Emacs 23.1.1和gcc version
4.4.6,注意Emacs只是一個編輯器,在我們程序員看來(其實我們也可以將其看作IDE,如果使用的比較熟練的話),最起碼對於我這種菜鳥來說,還
不能十分熟練的玩轉Emacs,它實在是太強大了,以至於有很多知識需要去記憶(不僅僅是快捷鍵)。
OK,不啰嗦了,下面進入正題:
1.啟動Emacs,在終端輸入「emacs&」命令後回車(你也可以輸入「emacs」命令,不過當你在使用Emacs的時候,當前終端
就不為你工作了;並且如果你熟練使用Emacs的話也可以輸入「emacs
-nw」命令以啟動非X視窗下的Emacs),至於後面為什麼要加一個「&」符,這是Linux裡面的基本知識,加上「&」符後會在當前
終端下產生一個子進程以運行Emacs而不會對當前終端的工作造成任何影響,這里我們鍵入「emacs –nw」命令,啟動界面如圖1所示;
圖1 鍵入「emacs –nw」命令後,Emacs的啟動界面
2.打開/新建文件,進入Emacs界面後,鍵「C-x
C-f」以打開/創建一個新的文件(如圖2所示),建議以C/C++語言里所規定的擴展名來指定創建的文件的擴展名,雖然在Linux下面我們不是十分強
調文件的擴展名,但是如果你選擇正當的擴展名的話,將有助於高亮代碼,並且Emacs會根據我們創建的文件的擴展名以進行不同語言(要知道,Emacs不
只是為了C/C++程序員設計的)編碼風格的縮進;
圖2 鍵「C-x C-f」,輸入文件名以打開/創建一個新的文件
3.編輯文件,鍵「C-x C-s」存檔,本人測試的代碼如下:
[cpp] view plain
#include <iostream>
int main( ) {
std::cout << "Hello, Emacs!!!"
<< std::endl;
}
4.編譯文件,這里我介紹兩種方法。
法1:常規方法,參考Learning Gnu
Emacs,我們可以這樣做:鍵「M-x」,此時在minibuffer中會顯示「M-x」字樣,輸入「compile」命令後默認會顯示
「Compile command: make -k」字樣,此時把「make -k」刪除後,運行相關編譯命令(如現在我們應該鍵入「g++
test.cpp –o test」),如圖3所示;
圖3 minibuffer下鍵入「g++ test.cpp –o test」命令以編譯源文件
法2:我想大多C/C++程序員會選擇第二種編譯方法,同樣的,鍵「M-x」,輸入「eshell」或「shell」命令,進入「eshell」或
「shell」緩沖區,這里我們鍵入的命令是「eshell」,然後同樣的鍵入「g++ test.cpp –o
test」命令以編譯源文件,如圖4所示;
圖4 eshell下鍵入「g++test.cpp –o test」命令以編譯源文件
5.運行編譯後的可執行文件,同樣的按照第4步中的打開eshell緩沖區,輸入相關命令即可執行編譯後文件,這里我們應該輸入「./test」命令,如圖5所示。
圖5 輸入「./test」命令以執行編譯後文件
注意:當我們進入其他緩沖區後,再想切換到編輯過的緩沖區可以鍵入「C-b
buffername」以切換到目的緩沖區。注意編輯(修改)後的緩沖區的名字格式為「*buffername*」,如上面我們切換到
「test.cpp」緩沖區應該buffername應為「test.cpp」,在我們打開「eshell」緩沖區之前我們已將其保存過了,切換到
「test.cpp」後再想切換到之前打開的「eshell」緩沖區的buffername應為「*eshell*」,這個緩沖區我們修改過了;
B. win下emacs gcc的編譯環境下,用gcc c1.c -o c1.exe 編譯,已經編譯成功,可我想請問下,接下來要如何輸出
以下三種方法:
1. 在你輸入 「gcc c5.c -o c5」 的地方 直接輸入 ./c5 回車運行。
2. 【開始】-> 【運行】-> 輸入 cmd 。 從命令提示符進入到你的工程目錄。就是你下載編譯文件的目錄,輸入 c5回車 運行。
3. 進到你當前目錄,雙擊c5運行。
C. 在windows上用Emacs+auctex+ctex,編譯總是出現「Latex: problems after [0] pages」請問如何解決
亂碼,通常情況下,你把編碼弄成utf8能夠解決問題。
D. emacs在哪裡下載,和安裝方法。
總算看到有人問emacs的問題了,真不容易···
剛回答過一位仁兄的問題,不巧被網路封了,怨念中,下面給個粘貼版:
win下使用emacs不會是個好選擇,但是也看個人喜好。
在xp和win7下使用過emacs,win8如此高大上的系統,沒用過。想來emacs在win8下也不會有太大問題。下載區gun的主頁就行了,這里有emacs for windows的gun下載主頁:
http://ftp.gnu.org/gnu/emacs/windows/
向下拖,最後的列表,建議下emacs24.3版本。emacs的更新是很實在的,不會說像一些國產商業軟體一樣,屁大點事都弄個更新,eamcs每次更新都會有很大的變化,而且新版本穩定後也更好用。
emacs在win中安裝有2中方式:直接下載二進制文件 和 下載源碼編譯。
一般來說,直接從上面的連接下載編譯好的emacs就行了,這個一般是用MGwin在windows下編譯的。自己弄的話,下個mgwin或cygwin,手動make編譯,但不推薦這么做,挺折騰,各種依賴包,時間也很長。如果真想體驗一把,請另行網路,有教程。
eamcs想在win下用的舒坦對新手來說不是件容易的事。不清楚是誰鼓動你在win下用emacs寫C的。如果你沒有特殊的需求,比如,主要開發工作針對linux,建議你直接使用VS來寫VC,方便直接,開箱即用。
emacs是個geek味道很濃的東西,具體體現就是:
沒插件啥也干不好
插件安裝千奇百怪沒有統一的方式,好在24.3的elpa一定程度上緩解了到處找插件的問題,但是治標不治本。
配置過程是在使用elisp編程,門檻相對較高,起碼比滑鼠點來點去高不少
插件之間存在一些沖突,因為都是愛好者開發的,單個插件可能經過測試,但是這些東西放一塊好不好使,只有天知道。當然,知名的插件肯定是沒問題的,但是那些偏門的東東,就不好說了。
emacs使用,包括插件自帶的說明文檔,都不可能有中文支持,純英文雖然很練水平,但是對一些人,起碼是我來說,很頭痛。
基本就是這些。不是說emacs有什麼不好,都說高手才會使用emacs,所以這個東西,從來都不是對新手准備的,對新人相當的不友好。如果你用過vim,可能會覺著emacs初始的工作方式比vim好太多,起碼不會按個esc就啥也輸不進去。但是相信我,你被騙了,真的。想讓此等神器按你的方式工作,不折騰個欲仙欲死是不大可能了。geek么,就喜歡折騰,如果你是這樣的人,恭喜你,你找到了世界上最好玩的玩具,它能從各方面滿足你折騰與探索之心,盡情享吧。
如果你還是想用eamcs,體驗下這個gnu的拳頭產品的魅力,下面可以給點建議:
下載emacs後,請完成最基本的配置,找到.emacs.d和.emacs文件所在位置,這個在windows下很多人一頭霧水。如果有疑惑,請網路 emacs中文網。推薦用注冊表方式指定home目錄。
做好心理准備,最少在一星期之內,你不可能用它開始工作。
花半個小時看emacs toturial。emacs剛啟動的歡迎界面上有連接,也可以在help菜單下找到
熟悉了基本,可以去網上點配置貼到.emacs文件中,順帶瞅瞅elisp的尊容,以後要經常和它打交道。在這個過程中,你會見識到emacs在幾行elisp代碼下翻天覆地的變化,起碼表面上看起來,完全就是2個東西。
推薦篇文章:「一年成為eamcs高手」http://blog.csdn.net/redguardtoo/article/details/7222501 想少走彎路,可以嚴格按照上面說的做。
如果你看了第5條,覺著有道理,請下載牛人的配置,去github逛逛吧,你需要一個gitextension,請自行安裝,這個可以幫你在後面方便地管理你的.eamcs.d文件夾。配置新手推薦 emacs-starter-kit或者 prelude,它們都在github上,請自行搜索。我用的是第二個,配置比較基礎,感覺還不錯。
如果你已經會用牛人配置的基本功能了而且還對emacs有很大的熱情,可以著手配置C開發環境了。
基本上這樣。那個問題是在問怎麼在windows下用emacs寫C,後面是一些C開發插件的配置,這個自動幫你pass了。
度娘手下留情,不要封我答案。
E. 求emacs高手,Windows下的emacs編譯問題
這跟emacs有個鳥的關系啊,這是gdb調試器的問題嘛。你調試程序,當然要先下斷點,再運行啦。
比如先輸入 b 3 就是在第三行下個斷點
run 開始運行
到第三行就停住了
n 到下一行,就這么簡單。
F. emacs編譯時顯示:command not found,這是怎麼回事
看readme文件吧,你這樣說太寬泛了,很少人能直接給你答案的。為什麼要 編譯emacs呢,直接用自己的發行版的安裝工具安裝不就行了嗎?
G. 我是才開始學C語言,用emacs24.1寫了一個源代碼,但是我不知道怎麼將它弄成可執行文件,還有弄成可執行文
首先你需要編譯你的源代碼,才能生成可執行文件,而編譯代碼又根據系統和環境的不同有很多不同方法。
如果你用的是windows,建議你在VC6.0或者VS裡面新建工程,然後將你的源代碼拷貝進去,再編譯,就會生成一個exe可執行文件,要執行這個可執行文件只需要雙擊它就可以了。
如果你用的是linux,那麼你需要安裝gcc,然後執行命令gcc -Wall XX.c -o XX,就可以生成一個可執行文件了,其中XX.c是你用emacs寫好的源代碼,XX是生成的可執行文件,要運行這個可執行文件,你可以執行命令./XX。
這些都是最基礎的東西,建議你先看書學習。
H. emacs編輯器的下載及使用安裝問題
win下使用emacs不會是個好選擇,但是也看個人喜好。
在xp和win7下使用過emacs,win8如此高大上的系統,沒用過。想來emacs在win8下也不會有太大問題。下載區gun的主頁就行了,這里有emacs for windows的gun下載主頁:
http://ftp.gnu.org/gnu/emacs/windows/
向下拖,最後的列表,建議下emacs24.3版本。emacs的更新是很實在的,不會說像一些國產商業軟體一樣,屁大點事都弄個更新,eamcs每次更新都會有很大的變化,而且新版本穩定後也更好用。
emacs在win中安裝有2中方式:直接下載二進制文件 和 下載源碼編譯。
一般來說,直接從上面的連接下載編譯好的emacs就行了,這個一般是用MGwin在windows下編譯的。自己弄的話,下個mgwin或cygwin,手動make編譯,但不推薦這么做,挺折騰,各種依賴包,時間也很長。如果真想體驗一把,請另行網路,有教程。
eamcs想在win下用的舒坦對新手來說不是件容易的事。不清楚是誰鼓動你在win下用emacs寫C的。如果你沒有特殊的需求,比如,主要開發工作針對linux,建議你直接使用VS來寫VC,方便直接,開箱即用。
emacs是個geek味道很濃的東西,具體體現就是:
沒插件啥也干不好
插件安裝千奇百怪沒有統一的方式,好在24.3的elpa一定程度上緩解了到處找插件的問題,但是治標不治本。
配置過程是在使用elisp編程,門檻相對較高,起碼比滑鼠點來點去高不少
插件之間存在一些沖突,因為都是愛好者開發的,單個插件可能經過測試,但是這些東西放一塊好不好使,只有天知道。當然,知名的插件肯定是沒問題的,但是那些偏門的東東,就不好說了。
emacs使用,包括插件自帶的說明文檔,都不可能有中文支持,純英文雖然很練水平,但是對一些人,起碼是我來說,很頭痛。
基本就是這些。不是說emacs有什麼不好,都說高手才會使用emacs,所以這個東西,從來都不是對新手准備的,對新人相當的不友好。如果你用過vim,可能會覺著emacs初始的工作方式比vim好太多,起碼不會按個esc就啥也輸不進去。但是相信我,你被騙了,真的。想讓此等神器按你的方式工作,不折騰個欲仙欲死是不大可能了。geek么,就喜歡折騰,如果你是這樣的人,恭喜你,你找到了世界上最好玩的玩具,它能從各方面滿足你折騰與探索之心,盡情享吧。
如果你還是想用eamcs,體驗下這個gnu的拳頭產品的魅力,下面可以給點建議:
下載emacs後,請完成最基本的配置,找到.emacs.d和.emacs文件所在位置,這個在windows下很多人一頭霧水。如果有疑惑,請網路 emacs中文網。推薦用注冊表方式指定home目錄。
做好心理准備,最少在一星期之內,你不可能用它開始工作。
花半個小時看emacs toturial。emacs剛啟動的歡迎界面上有連接,也可以在help菜單下找到
熟悉了基本,可以去網上點配置貼到.emacs文件中,順帶瞅瞅elisp的尊容,以後要經常和它打交道。在這個過程中,你會見識到emacs在幾行elisp代碼下翻天覆地的變化,起碼表面上看起來,完全就是2個東西。
推薦篇文章:「一年成為eamcs高手」http://blog.csdn.net/redguardtoo/article/details/7222501 想少走彎路,可以嚴格按照上面說的做。
如果你看了第5條,覺著有道理,請下載牛人的配置,去github逛逛吧,你需要一個gitextension,請自行安裝,這個可以幫你在後面方便地管理你的.eamcs.d文件夾。配置新手推薦 emacs-starter-kit或者prelude,它們都在github上,請自行搜索。我用的是第二個,配置比較基礎,感覺還不錯。
如果你已經會用牛人配置的基本功能了而且還對emacs有很大的熱情,可以著手配置C開發環境了。
下面說說emacs下C開發環境的搭建,基本的插件有這幾個:
ecb cedet tabbar tabbar-ruler yasnippet auto-complete
分別說說:
ecb,emacs code browser,用於瀏覽代碼,大致看起來是這個樣子:
具體安裝一言難盡,請多網路谷歌。這個時候網路不一定好使,google相對可靠的多。這個是emacs插件的配置,還缺mgwin,這個要額外配置,添加exec-path。具體請網路,我沒配過,我emacs都是org寫文檔用的,偶爾騷包用eamcs寫,回頭VS編譯。
如果上面的你都折騰過了,你應該會發現新的問題:老子折騰了這么久,為什麼感覺還沒個VC6+VAX來的實在?問題出在cedet的組件semantic上。它負責進行語法分析,生成tags,顯示函數,進行跳轉和補全。但是這個東西是基於靜態分析的且是純elisp實現的,效率上可想而知。VS的補全是動態進行的且它本身可以利用編譯器的分析結果,所以速度快,補全能力很強。semantic則相反,它不能利用編譯器生成的語法分析樹,自己掃描靜態文件,這個效率可想而知。解決方法么,在linux下有個GCC的修改版本,可以將分析結果借用給semantic,貌似要額外進行一些配置,這樣配置過後,semantic就會快很多,起碼不會出現打開個C文件,分析半分鍾這么誇張。同樣的問題出在auto-complete和yasnippet上。它們同樣沒有編譯器分析結果做支持,所以補全基本是基於縮略詞的,相當的不智能。這些是emacs作為C開發環境的缺點。
這些問題的出現,並不是emacs本身不夠強,實在是沒有大廠商的支持,靠一群愛好者進行義務開發和維護,很大程度上限制了eamcs作為IDE上的能力。本身這個也不是大問題,emacs被愛好者稱為操作系統,IDE只是人們對它的一個期望罷了,這本來也不是它的強項,通用和擴展性才是它的靈魂。用emacs和VS比C開發效率,這本來就不公平,有本事你也去linux命令行跑跑看嘛。
lz加油吧,每個喜愛emacs並為之付出的人,都會得到回報。不要太過計較一時的得失,emacs絕對是值得信賴的工具,值得你為他付出。這個道理其實很簡單:除了emacs,你再也找不出一個程序,能夠完全按照你的意願工作。
emacs的神奇來源於它驚天地泣鬼神的設計理念:編寫lisp解釋器,解釋elisp語言,來製作一個編輯器,這本來就是天才的構想。在emacs的世界裡,絕大多數的功能都是lisp函數的求值帶來的。任何的按鍵,都會觸發解釋器對elisp函數或C函數的求值,運行,然後產生響應的行為。這點可以在eamcs中使用C-h k 來驗證,這個快捷鍵綁定到了describe-key,可以描述你的按鍵所觸發的函數,它的功能和所在的文件,你可以很方便地進入這個文件內部觀察elisp實現。emacs根本就是個解釋器+腳本語言的黃金搭檔。通過elisp編程,你能控制emacs的任何行為,自己編寫elisp函數實現一些自動化操作,比如通過一個按鍵自動格式化當前buffer中的所有代碼,編寫正則匹配函數並綁定到響應快捷鍵,這樣可以通過按下你綁定的按鍵序列,讓emacs自動隱藏指定的行,比如注釋,自動替換選中區域的指定字元序列等等。
總之,emacs無所不能,這個源於它奇思妙想的偉大設計。
以上。
I. windows 下emacs無法運行程序,command not found
用過Linux的人知道在centos下是有setup這個命令的。用於系統服務,網路配置,X配置等方面的圖形配置界面。在「command not find 」說明你還沒有安裝支持這個命令的軟體套件,安裝它即可,命令 yum -y install setuptool。
補充你的追問:
首先確認你是否安裝了軟體
[root@vpn ~]# rpm -qa |grep iptables
iptables-ipv6-1.3.5-5.3.el5_4.1
iptables-1.3.5-5.3.el5_4.1
iptables-devel-1.3.5-5.3.el5_4.1
沒有的話,安裝它:
[root@vpn ~]#yum -y install iptables*
添加到chkconfig:
[root@vpn ~]# chkconfig --add iptables
[root@vpn ~]# chkconfig --list|grep iptables
J. 怎麼用emacs編譯程序
ctrl + x ctrl + f可以打開或者新建文件.
我不知道你是在windows下還是在linux下.
如果是在windows下,如果你知道怎麼用記事本寫程序,那你就能用emacs寫程序.
當然,這是最簡單的用法.
ctrl + h t 可以看入門教程.更復雜的用法別人沒法教你.emacs號稱神之編輯器,而"神"不是教出來的,而是自己折騰出來的.