半瓶醋的 C++ 教學(第六章):開源流萬世一系不敗經典 Hello World 實作
基本上到目前為止好像都在閒聊(汗),還是讓我們進入實際操作吧,在這邊我們寫一支編程界的經典 Hello World 出來。
Hello World 本質上是一支連玩具都稱不上的程式,但透過寫作,她可以讓我們了解編程的最基本流程,並確認環境設定無誤。我記得自己剛開始編程的時候對環境的設定反而比較苦手,不知道什麼部分該用什麼,不然就是知道該用什麼卻必須一直辜狗;相較之下,語法的部分一開始超簡單,看看書沒兩下就懂了,所以在這邊,如同第零章所述,我想補的是一般書籍的不足,語法部分就請大家在第一章的推薦書籍之中自修一下。
首先在第四章我們提過了編程環境的選擇,當中我推薦用開源環境來編程,所以在這邊我介紹的是開源流的編程方式,M$ 流的也不難,基本上就是想辦法搞到一片 VC(到底有多少人用正版的?科科),打上 Hello World 再按某個鈕就好了,非常簡單,兩者的差異大致上就像自排車手排車一樣。自排車好開,但要充份享受駕馭極速機器的快感唯有手排,沒有人開藍寶基尼在開自排的吧?
OK,咱們開始吧。
Tags: APT, C++, G++, Linux, Makefile, ProgrammingArt, Ubuntu, Vim
Ubuntu 下 rmvb 沒聲音
有時候播 rmvb 會沒聲音,不需要灌 plugin,只要調一下參數就可以。編輯 ~/.xine/catalog.cache,找到 [/usr/lib/xine/plugins/1.1.4/xineplug_decode_real_audio.so] 這段,將 decoder_priority 調高為 10 即可:
size=11300
mtime=1171041406
type=131
api=15
id=realadec
version=10104
supported_types=52494336 52559872 52756480
decoder_priority=10
參考資料:
argh no sound in rmvb @ Ubuntu Forums
Tags: Linux, rmvb, Ubuntu, Video
Ubuntu 無線網路設定
把 Ubuntu 灌好,正常來講網卡都可以抓得到,訊號應該也沒問題。只要在 ESSID 的部分指定好你要的 AP 就可以。
若不經 WEP 加密的 AP 可以說是灌好馬上就可以用;經過加密的卻稍微麻煩一點,之前用內建套件輸入 encrypted key 不知為何並不能使用,應該是隻 bug。經過爬文之後大約歸納出三個 solution:
-
sudo gvim /etc/network/interfaces
編輯形如下式:
iface eth1 inet dhcp
wireless-essid tokyomod
wireless-key s:meoap# 加 "s:" 表 ASCII,不加則為 HEX
經過測試,此法可以使用,不過要 reboot 或 hibernate 重開
-
$iwconfig ath0 key XXXXX
尚未測試。
-
sudo gvim /etc/pcmcia/wireless.opt
大致上同 1,不過還沒測過。
Tags: Network, Ubuntu, Wireless
Matlab Work with Beryl
Matlab 跟 Beryl 底下工作時會有兩個問題:
1) 只能從 command line 底下叫出來,而不能用 Alt + F2
2) 這比較嚴重…叫出來會一片灰,只有左下角 start 部分很完美…
如果你的 Ubuntu 版本不是 7.04 的話,似乎可以在 start up shell 最前面(#!/bin/bash 的下一行)加兩行環境變數的更動就可以,因為這原則上是 Java 的 bug:
export MATLAB_JAVA=“/usr/lib/jvm/java-1.5.0-sun/jre/”
也有一說是加第二行就好,不加第一行。
如果是 7.04 的話(等我寫完論文就要來 upgrade 了…真麻煩 = =),就要用別的賤招:把 Beryl 關掉,開 Matlab,在 Matlab 開開的狀況下再把 Beryl 開起來就搞定了… = =
參考連結:
Feisty, MATLAB and Beryl… @ Ubuntu Forums
Tags: Beryl, Feisty, Matlab, Ubuntu
Matlab R2008a on Ubuntu 7.04
Matlab R2008a 裝在 Ubuntu 7.04(也許其他的 version 也有問題,但我的是這個組合)會有一個小問題。首先你照著官方小手冊這樣下他不會鳥你:
我的方法是這樣,先切成 root,再用 sh 去接:
sh /media/cdrom/install
這樣小 window 就會跑出來了,可是會碰到這樣的 error message:
the X Window System version of ‘install’. The following
messages were written to standard error:
/media/cdrom/update/install/main.sh: 168: /media/cdrom/update/bin/glnx86/xsetup: Permission denied
Attempt to fix the problem and try again. If X is not available
or ‘xsetup’ cannot be made to work then try the terminal
version of ‘install’ using the command:
install* -t or INSTALL* -t
——————————————————————-
Sorry! Setup aborted . . .
我的推測是很可能跟 mount cdrom 之後權限只有唯讀有關係,所以就把 cd 整個 copy 到硬碟,chmod 為 777 再跑一次就可以搞定了。
chmod -R 777 /home/jutirain/temp/cdrom
sh /home/jutirain/temp/cdrom/install
參考連結:
Help installing MATLAB @ Ubuntu Forums
半瓶醋的 C++ 教學(第四章):編程環境的選擇
之前在第三章曾經提到,越接近數學的內力不容易隨時間而改變,但作為外功的程式或系統工具則會,那麼,我們該如何儘量讓自己的外功能夠歷久恒新呢?
很直覺的,當然就是選用較不會過時的工具。而工具要能夠在變化萬千的編程界中不被時間所淘汰,固然本身素質要好,另外,我認為最重要的其中一個環節就是,開放。雖然這應該很直覺,不過還是稍加解釋一下好了…
如果今天某工具某 framework 是知名大廠所提倡的,或許在這大廠能夠予以支援的狀況下是還滿不錯用的,但是天有不測風雲啊,再怎麼大的公司總也有收攤的一天…就算沒有收攤好了,也許是公司的政策改變了,要改推另一個工具,那麼這時候無論是開發者的使用順手度,還是市場的接受度(你知道,麻瓜常常都是看哪個廣告多就用哪個,但我們巫師要有巫師的衿持),都難免急轉直下。因為他不開放,沒人搞得懂裡面在幹嘛,所以不會有社群的力量,同理,你也搞不懂,就算你再強想自己硬幹也沒辦法,除非重新寫一個。
甚至不要說收攤或是什麼行銷政策了,光講某M社的 IDE,常常出一個新的版本舊的版本的 code 就不能用了,這種愚蠢的事情我真想不透為什麼有人能夠接受…
Tags: C++, CommandLine, Linux, ProgrammingArt, Ubuntu, Vim
MPlayer 下使用字幕
用 mplayer 使用中文字幕似乎不是一件太簡便的事情。參考了 Free BSD Chinese HOWTO,但在我的 Ubuntu 7.04 上似乎不 work。
以下指令均不能使用(假設字型放在該路徑、字幕編碼為 utf8):
mplayer -font /font/big5-kai/bkai00mp16/font.desc -sub 1.srt -unicode 1.mkv
所以只好去抓英文字幕來用…
很簡單就可以使用
加 subfont 之類的參數可以改動字型大小等等
或是寫在 ~/.mplayer/config 之中也可以
Tags: Linux, MPlayer, Subtitle, Ubuntu
Video to Images
因為研究上的需要,所以想要把影片的各個 frame 拆解為 image。
在 Linux 上這項工作意外的簡單,不需要額外安裝些什麼,MPlayer 本身就可以作這件事了,指令形如下式:
Video Format Converting
以轉成 xvid 為例,以下指令可將 nike.mpeg 轉成 nike.avi:
以下指令可查有啥 video encoding 可選。不過 xvid 要注意的是如果不給 option 的值似乎不給跑。
同理以下指令可查有啥 audio encoding 可選,也可用 -nosound 選擇不加入任何聲音。


