Chia´s Small Shop

Chia小鋪,陳列隨手的文字

Nokia N900 裝置端上的c/c++開發環境設置

最近入手了新玩具,Nokia N900,給自己換這隻手機的藉口是:噢耶~這隻手機跑的是Linux耶~沒錯,N900的Maemo 5作業系統,引起了廣大的(?)迴響。許多在Linux上看得到的軟體與相關應用,都可以在N900上看到。玩得大一點的,甚至安裝修改過核心的Ubuntu或是來個OOo。N900,絕對不是手機而已!

以下簡單紀錄如何在N900的裝置端上開發應用軟體,建構gcc/g++編譯器的開發環境。為了縮短篇幅,假設你已經了解並熟悉:

  1. 有N900了(沒有的快去買XD)
  2. 會基本的Linux操作與知識
  3. 在N900上擁有root的操作能力,最好安裝SSH server方便操作
  4. 以下的操作,最壞的情況會導致裝置功能不正常,需要重新刷機才能恢復

關於上述第3點,雖然N900有硬體鍵盤,但拿來寫程式還是有點小痛苦,建議使用SSH server來操作比較簡單。SSH client在Windows環境,推薦PuTTY或是Tera Term都很適合。首先,添加開發套件的檔案來源。在「程式管理員」(App Manager)中,點選「應用程式目錄」(Catalogue),新增 閱讀更多»

六月 1, 2010 發文作者 | Maemo | , | 2 則迴響

別讓你的多核心只是裝飾品!Intel TBB 2.2 發布

Intel® Threading Building Blocks (TBB) 是一個協助將演算法平行化處理的函式庫。利用多核心可以同時處理多執行緒的優點,TBB自動將資料拆成數塊,分別由各個執行緒執行後,再將結果彙整。以往要自己手動處理多個執行緒的管理以及同步等問題,TBB都已經幫你包辦好了。雖然寫起來不若OpenMP那樣簡潔,不過我對於程式碼中飛來飛去的#pragma實在有點感冒…

TBB 的開放原始碼版本(GPL 2),在2009年8月9日發布2.2版囉!跟2.1版相比,架構有一點點小小地變動。除了效能的增進外,新加入的parallel_invoke與parallel_for_each方法,可以簡化原先parallel_for使用functor的繁複寫法,同時也支援C++0xlambda functions。還有一個小小驚喜,終於不用初始化task scheduler了,2.2版會自動幫你做好這件事。眼下先把2.1版的projects升級一下囉~

拜訪 TBB
- TBB Home
- TBB 2.2 stable version download
- What’s New in Intel® TBB 2.2

八月 18, 2009 發文作者 | TBB | , , , | 發表迴響

在VC中利用Qt Designer建立自訂的slot

Qt自己出了個IDE,Qt Creator,支援GNU的編譯器與GDB除錯器
整合度之高,感覺真像是先前使用Borland C++ Builder的經驗一樣
不過,假如已經習慣了VC的編譯環境,就只能望著Qt Creator乾瞪眼嗎?

好在從Qt釋出了Visual Studio add-in (for open-source version)以後
Qt跟VC之間的距離就越來越近了
不用管什麼三部曲、uic與moc
視窗拉一拉,元件放一放,一個可口的GUI就完成了
打造複雜的GUI再也不是夢想!

在設計GUI的過程中,往往會碰到需要自行定義被觸發事件(signal)的處理方法(slot)
signal沒啥問題,通常是按鈕、選單等元件發出(e.g. 滑鼠點擊)
但是slot呢?並不是每個signal都找得到合適的預設slot
比方說,按一個按鈕開啟檔案對話框,然後載入一張圖片
應該找不到一個slot是剛好設定為「開啟檔案對話框」的吧!
這個時候,就需要自訂的slot來解決問題 閱讀更多»

五月 19, 2009 發文作者 | Qt | , , , | 1 則迴響

與Ogre共舞:第六步,敲敲鍵盤、動動滑鼠

從建立了Ogre的視窗開始,我們的目標就是透過攝影機,來看所設計的3D場景。為了能夠自由自在的瀏覽,我們得用輸入裝置來控制攝影機的位置與拍攝角度。由於Ogre本身只是個純繪圖引擎,對於處理鍵盤滑鼠之類的裝置非常不擅長,因此特地請來另外一個小巧簡單的套件 – OIS(Object Oriented Input System,別問我為什麼不叫OOIS呀…),幫忙解決這個問題。而這所有的過程,都會由FrameListener來接管。我們將繼續上一步的FrameListener範例,添加了滑鼠鍵盤輸入的處理,達到控制攝影機的目的。 閱讀更多»

四月 1, 2009 發文作者 | Ogre | , | 3 則迴響

與Ogre共舞:第五步,轉轉乳酪方塊

在這步中,將要介紹Ogre在描繪場景時,一個參與描繪流程的重要的類別:FrameListener,顧名思義就是Ogre每描繪一張畫面時,在旁邊「聽候通知」的類別。在行為上,FrameListener與回呼函數(callback function)相當,每當Ogre描繪一張畫面,會在適當事件發生的時候通知FrameListener來處理。我們可以利用FrameListener來處理每一個畫面中,物件的操作、攝影機視角的改變、以及其他輸出輸入的處理,讓使用者能夠與Ogre的場景有所互動。 閱讀更多»

三月 28, 2009 發文作者 | Ogre | , | 3 則迴響

與Ogre共舞:第四步,乳酪方塊的協奏曲

在前三步中,從安裝Ogre開始,到建立視窗並在Ogre中放了一個彩色三角片,我們已經接觸了幾個Ogre中重要的元件:Ogre根本的Root,系統繪圖API介面的RenderSystem,掌控物件配置的SceneManager,隸屬於ResourceManager、產生材質的MaterialManager,以及建立自訂幾何構成物件的ManualObject。在這步中,我們要用SceneManager在場景中擺設12個乳酪方塊,認識SceneManager如何控制元件的位置與姿態。當然,還是只用程式碼來完成一切唷。 閱讀更多»

三月 23, 2009 發文作者 | Ogre | , | 8 則迴響

Follow

Get every new post delivered to your Inbox.