利用J2ME裡的RMS對記錄進行排序

2021-04-14 09:15:55 字數 1332 閱讀 1204

cygwin/gcc和mingw都是gcc在windows下的編譯環境,但是它們有什麼區別?在實際工作中如何選擇這兩種編譯器呢?

cygwin/gcc完全可以和在linux下的gcc劃等號,這個從boost庫的劃分中就可以看出來端倪,cygwin下的gcc和linux下的gcc使用的是相同的toolsets。

所以完全可以和linux一起同步更新gcc版本,而不用擔心有什麼問題,並且在cygwin/gcc下做的東西(不用win32的)可以無縫的用在linux下,沒有任何問題。是在windows下開發linux程式的乙個很好的選擇。但是在cygwin/gcc下編譯出來的程式,在windows下執行必須依賴cygwin1.dll,並且速度有些慢,如果不想依賴這個東西的話,必須在gcc的編譯選項中加入-mno-cygwin。加入這個選項gcc編譯器就會自動的選擇安裝cygwin/gcc時安上的mingw,這個mingw就是gcc的乙個交叉編譯。

注:交叉編譯是嵌入式開發過程中的一項重要技術,它的主要特徵是某機器中執行的程式**不是在本機編譯生成,而是由另一台機器編譯生成,一般把前者稱為目標機,後者稱為主機。採用交叉編譯的主要原因在於,多數嵌入式目標系統不能提供足夠的資源供編譯過程使用,因而只好將編譯工程轉移到高效能的主機中進行。

mingw作為gcc在windows上的乙個實現,由於不像cygwin的gcc在乙個模擬linux上執行,所以相當一部分linux的工具不能夠使用,不過現在已經有msys這個模擬unix的shell,可以解決很多的問題,不過沒有cygwin好用,而cygwin/gcc的no-cygwin選項又依賴於mingw的支援,所以更新的更慢的,現在只是到3.3.3。在mingw下也是可以公升級gcc的,不過需要使用msys。公升級方法和在cygwin&linux下差不多,就不再羅嗦了。不過就我的公升級經驗來看好像都不太順利。具體深入的測試,我也沒有時間做了。

也是可以讓cygwin的最新安裝的gcc支援no-cygwin,需要再做一遍交叉編譯,但是我不會做,只好算了,呵呵,也許那一天我把這個搞定,再開乙個貼吧。

根據以上的分析,如果在windows開發linux程式,cygwin是很好的選擇。如果你開發的程式不介意有乙個cygwin1.dll的話,也是可以選擇cygwin的。如果你是想開發windows下的程式,還要必須用gcc的話,mingw是很好的乙個選擇。但是在windows下有太多的編譯器了,bc,vc,intel c.....

順便說就題外的話,據說gcc4.0.0效能有很大的提公升,如果我公升級完gcc4後,再編譯一把gcc4是不是以後的編譯效能會提高很多呢? 

乙個技巧:如何知道當前版本的gcc的安裝配置,用命令:gcc -v就可以了. 

利用J2ME裡的RMS對記錄進行排序

j2me裡rms對記錄進行排序的方法,是借鑑了j2se裡的colletcion框架的處理方法而來的。我們知道如果collection框架中的實現類要對其內的object元素進行排序,要呼叫sort 方法,但是其內的object元素必須要實現comparable介面。class student imp...

利用J2ME裡的RMS對記錄進行排序

j2me裡rms對記錄進行排序的方法,是借鑑了j2se裡的colletcion框架的處理方法而來的。我們知道如果collection框架中的實現類要對其內的object元素進行排序,要呼叫sort 方法,但是其內的object元素必須要實現comparable介面。class student imp...

利用J2ME裡的RMS對記錄進行排序

偶然在網上看到有人問 如何利用rms對其內的積分進行排序。恰巧最近在總結 沉澱一些工作中的積累,於是就有了這篇文章。j2me裡rms對記錄進行排序的方法,是借鑑了j2se裡的colletcion框架的處理方法而來的。我們知道如果collection框架中的實現類要對其內的object元素進行排序,要...