顯示具有 電腦-程式設計 標籤的文章。 顯示所有文章
顯示具有 電腦-程式設計 標籤的文章。 顯示所有文章

2008年9月28日 星期日

使用emacs來建立一個程式開發環境

emacs是一套非常好用的文書編輯軟體,透過安裝其他相關的plug-in之後可以快速的在程式碼中找到你所需要的涵式以及變數。但是emacs需要使用大量的快速鍵來操作,因此上手會比較困難但是絕對是非常好用。網路上將使用Linux作為開發環境的人分為三種:使用emacs、使用vim以及其他
由此可以知道emacs在這方面是如何的受到推崇

要達成上圖的功能,需要以下的軟體配合:
  1. cscope (version 15.6) cscope是一個代碼流覽工具,它可以幫你在一個大的工程中,快速定位到一個函數/變數的聲明位置,所有引用地方等,它可以結合vimemacs一起使用。
    單獨使用cscope時不同檔間的跳轉變得很難處理,這裏我們介紹cscopeemacs環境中的
    使用;
  2. cedet-1.0pre4 ecb需要依賴這個;(安裝ecb後會自動安裝)
  3. ecb-2.32 :這個是emacs的插件,可以在emacs中劃分好幾個不同的視窗,比如源代碼視窗,
    工程目錄視窗,方法視窗等;
  4. emacs-22.1.1
  5. display-line-number.el 顯示行(可不裝)

安裝方法如下:
1. 執行終端機
2. 輸入以下指令安裝軟體
sudo apt-get install escope
sudo apt-get install ceb
sudo apt-get install emacs
如果escope無法安裝,也可以利用套件管理程式安裝


3. 在使用者的根目錄 /home/[user name]建立或修改.emacs這個檔案,並加入以下內容
(load-file "/usr/share/emacs/site-lisp/cedet-common/cedet.el")
(load-file "/usr/share/emacs/site-lisp/ecb/ecb.el")
(global-set-key "\M-g" 'go-toline)
(global-set-key "\M-m" 'set-mark-command)

4. 在終端機下執行emacs呼叫程式
5. 在emacs下按 alt-x 然後輸入ecb-activate即可完成

參考資料
用Open Source工具開發軟體
Emacs 使用手冊
Emacs WiKi
GNU Download emacs

2008年9月12日 星期五

GPS NMEA常用格式

GPS常用的NMEA數據資料格式介紹如下:
GGA=>GPS固定資料
$--GGA,hhmmss.ss,llll.ll,a,yyyyy.yy,a,x,xx,x.x,x.x,M,x.x,M,x.x,xxxx*hh範例說明: $GPGGA,055148,2407.8945,N,12041.7649,E,1,00,1.0,155.2,M,16.6,M,X.X,xxxx,*47
$GPGGA = Global Positioning System Fix Data
1 055148 = UTC of Position [
接收的時間(世界標準時),格式:時分秒]
2 2407.8945 = Latitude [
緯度,格式:度分.],
3 N = N or S[N
指北半球(S指南半球)],
4 12041.7649 = Longitude [
經度,格式:度分.]
5 E = E or W [E
指東半球(W指西半球)]
6 1 = GPS quality indicator (0=invalid; 1=GPS fix; 2=Diff. GPS fix) [GPS
等級,0:表示資料可用;1:非DGPS定位資料;2DGPS定位資料],
7 00 = Number of satellites in use [not those in view] [
所使用之衛星數],
8 1.0 = Horizontal dilution of position [
平面精度指標(HDOP)],
9 155.2 = Antenna altitude above/below mean sea level (geoid) [
天線高度(平均海水面)],
10 M = Meters (Antenna height unit) [
單位(公尺)],
11 16.6 = Geoidal separation (Diff. between WGS-84 earth ellipsoid and mean sea level. -=geoid is below WGS-84 ellipsoid) [
大地起伏值],
12 M = Meters (Units of geoidal separation) [
單位(公尺)],
13 X.X = Age in seconds since last update from diff. reference station [
差分GPS數據期],
14 xxxx = Diff. reference station ID# [
基站站號0000-1023],
15 *47 = Checksum (
檢查位元)
RMC=>GPS建議最小傳輸資料
$--RMC,hhmmss.ss,A,llll.ll,a,yyyyy.yy,a,x.x,x.x,xxxxxx,x.x,a*hh ($GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>)
範例說明: $GPRMC,055148,A,2407.8945,N,12041.7649,E,000.0,000.0,061196,003.1,W*69
1) $GPRMC,055148 接收定位時間(UTC time)格式:時時分分秒秒.秒秒秒(hhmmss.sss)。
2) A =
定位狀態,A:資料可用,V:資料不可用。
3) 2407.8945 =
緯度,格式:度度分分.分分分分(ddmm.mmmm)。
4) N =
緯度區分,北半球(N)或南半球(S)。
5) 12041.7649 =
經度,格式:度度分分.分分分分。
6) E =
經度區分,東(E)半球或西(W)半球。
7) 000.0 =
相對航行速度, 0.0 1851.8 knots()
8) 000.0 =
相對航行方向,000.0 359.9度。實際值。
9) 061196 =
日期,格式:日日月月年年(ddmmyy)。
10) 003.1 =
磁極變量,000.0 180.0度。
11) W =
磁方位角(西W或東E)度數。
12) *hh = Checksum.(
檢查位元)

GSA=>GPS幾何精度因子 偏差資訊(GNSS DOP)及衛星狀態(GSA
$--GSA,a,x,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,x.x,x.x,x.x,*hh
($GPGSA,<1>,<2>,<3>,<3>,,,,,<3>,<3>,<3>,<4>,<5>,<6>,<7>)
範例說明:$GPGSA,A,3,01,05,09,17,21,2,26,39,,,,1.9,1.0,1.7,*33
$GPGSA,
1) A =
定位模式,M:手動模式;A:自動模式
2) 3 =
定位模式,1:位置不可用;2:二度空間定位;3:三度空間定位
3) 01,05,09,17,21,2,26,39,,, =
接收衛星編號 (PRN)
4) 1.9 = PDOP-
位置精度稀釋 0.5 99.9.
5) 1.0 = HDOP-
水平精度稀釋 0.5 to 99.9.
6) 1.7 = VDOP-
垂直精度稀釋 0.5 to 99.9.
7) *33 = Checksum.(
檢查位元).GSV=>可視衛星狀態
$--GSV,x,x,xx,xx,xx,xxx,xx,………,*h
($GPGSV, <1>,<2>,<3>,<4>,<5>,<6>,<7>,…<4>,<5>,<6>,<7>,<8> )
範例說明:$GPGSV,3,1,09,01,27,299,43,………*70
1) 3 = 天空中收到訊號的衛星總數。
2) 1 =
定位的衛星總數。
3) 09 =
天空中的衛星總數,00 12
4) 01 =
衛星編號, 01 32
5) 27 =
衛星仰角, 00 90 度。
6) 299 =
衛星方位角, 0 359 度。實際值。
7) 43 =
訊號雜訊比(C/No), 00 99 dB;無表未接收到訊號。
注意!第<4>,<5>,<6>,<7>項個別衛星會重複出現,每行最多有四顆衛星。其餘衛星資訊會於次一行出現,若未使用,這些欄位會空白。
8) Checksum.(
檢查位元).

在Ubuntu下使用C語言寫程式所需要的套件

安裝命令:

安裝gcc/g++/gdb/make 等基本編程工具
sudo apt-get install build-essential
安裝 libgtk2.0-dev libglib2.0-dev 等開發相關的庫文件
sudo apt-get install gnome-core-devel
用於在編譯GTK程式時自動找出頭檔及庫檔位置
sudo apt-get install pkg-config
安裝 devhelp GTK文檔查看程式
sudo apt-get install devhelp
安裝 gtk/glib 的API參考手冊及其它幫助文檔
sudo apt-get install libglib2.0-doc libgtk2.0-doc
安裝基於GTK的介面構造程式
sudo apt-get instal glade libglade2-dev

sudo apt-get install glade-gnome glade-common glade-doc


sudo apt-get install libgtk2.0-dev


安裝GTK環境只要安裝一個gnome-core-devel就可以了,裏面集成了很多其他的包。除此之外還要轉一些其他的東西,如libglib2.0 -doclibgtk2.0-doc幫助文檔,devhelp幫助文檔查看,glade-gnomeglade-commonglade-doc圖 形介面設計等。
使用外部命令查看安裝的gtk的版號

$pkg-config --modversion gtk+ (查看1.2.x版本)
$pkg
-config --modversion gtk+-2.0 (查看 2.x 版本)
$pkg
-config --version (查看pkg-config的版本)
$pkg
-config --list-all grep gtk (查看是否安裝了gtk)

Emesene 不正常關閉

在ubuntu 8.04中,有時候esmesene在登入後會不正常關閉
原因可能是8.04裡的emesene和gcin衝突
解決方法是編輯/etc/X11/xinit/xinput.d/zh_TW 或 ~/.xinput.d/zh_TW
把GTK_IM_MODULE=gcin改成GTK_IM_MODULE=xim
之後重新啟動就可以了

PS. 如果有使用gdm這類的管理程式要記得手動關掉然後再重啟才有用)
如果不怕麻煩的可以在每次啟動後從終端機執行

export GTK_IM_MODULE=xim emesene;emesene

2008年9月11日 星期四

Ubuntu必裝軟體

MSN: Emesene
1. 從套件管理員選擇
2. 執行終端機
sudo apt-get install emesene
BBS: PCManX
執行終端機
sudo sudo apt-get install pcmanx-gtk2要使用時執行pcmanx

中文輸入:gcin
已加入官方套件,直接由套件管理員安裝

燒錄軟體: GnomeBaker
已加入官方套件,直接由套件管理員安裝

BT軟體: KTorrent
已加入官方套件,直接由套件管理員安裝

模擬器: VirtualBox
1. 到官方網站下載
2. 執行終端機
sudo apt-get install virtualbox

參考資料:
Ubuntu -為藍星人打造的Linux作業系統
[教學] emesene - Linux 底下的 MSN 即時通
[Ubuntu] 安裝 PCManX
[Ubuntu] VirtualBox on Ubuntu 8.04 Hardy