顯示具有 C 標籤的文章。 顯示所有文章
顯示具有 C 標籤的文章。 顯示所有文章

2016年11月13日 星期日

用 Eclipse 寫 OpenCL 的 Hello World 程式

安裝好「OpenCL 程式框架」後,就可以開始寫第一個 OpenCL 的程式了。一些相關發文列在下方,請讀者自行參閱:

一、安裝 OpenCL 「標頭檔」

欲開發 OpenCL 需先安裝開發用的「標頭檔 (header file)」,在 Fedora 安裝很簡單,只要下這個命令即可,
[root@Core-i7 ~]# dnf install opencl-headers
接著,就可以開始測試第一個 OpenCL 的 Hello World 範例程式。

2015年11月17日 星期二

在 Fedora 的 Wine 裏安裝 Dev C++

學習 C 或 C++ 時,許多人是以「Dev-C++」為工具,不過「Dev-C++」這個整合開發環境是針對 Windows 系統。雖然最近也有 Linux 版的開發正在進行中,但仍處於 alpha(開發者測試)階段。想要在 Linux 上用「Dev-C++」學習 C/C++ 就要稍微麻煩些,接下來就將這些安裝步驟整理記錄,以供將來參考之用。
  安裝 Wine 的步驟,請參考另一篇發文〝在 Fedora 安裝 Wine 與修正中文亂碼問題〞,就不在此重覆。在本文將著重「Dev-C++」安裝在 Wine 的過程。

一、下載 Dev-C++ 安裝程式

由「Dev-C++ 官網」下載以下最新版的 Dev-C++ 安裝程式,以一般使用者身份即可下載。而 Wine 系統的「Winodws 應用程式」是由個別使用者自行安裝、設定。因此,都不需要 root 的權限。

2012年12月10日 星期一

在 Linux 中,用 Eclipse 開發 Pthreads 程式

因為開發應用程式的需求,要充份發揮多核心的 CPU 運算能力,就需要將原有程式改寫成「多執行緒(Multi-Threads)」,本想直接使用 OpenMP 這類新的技術,經研讀相關資料、整理後,覺得先改成 POSIX Threads 的程式,應該比較適合些。既然決定了,就把以前的 POSIX threads 筆記先拿出來整理、更新一下,順便複習複習。
    要在 Linux 開發時使用 Eclipse 比較直覺,這次的整理也依一般的慣例,就由在 Eclipse 中寫個 Hello Pthreads 程式開始,另外再加上一些更新後的參考網站連結。

2012年11月10日 星期六

解決「Eclipse 出現 Unresolved inclusion: <...>」問題

在用 Eclipse-CDT 開發程式時,偶而會出現『Unresolved inclusion: <...>』的訊息,有時也伴隨著一些變數型態宣告也出現『Type '...' can not be resolved』。
雖然,可以順利編譯,不會出現錯誤訊息。執行也都正常,完全不像是『語法錯誤』或『宣告的標頭檔(header file)不存在」所造成的。但是,看起來很礙眼,很想除之而後快。

2012年9月5日 星期三

查詢 OpenCV 函式庫的 Link(鏈結)參數

在前文 " 在 Linux 中,用 Eclipse 開發 OpenCV 程式 " 和 " 在 Fedora 17 中,用 Eclipse 開發 OpenCV 程式 " 中,對「Link(鏈結)」參數如何得知,除了 Google 以外,應該有其它方法。

    Linux 有個程式 pkg-config 用來查詢已安裝的函式庫之資訊,用 pkg-config 查詢 OpenCV 的函式庫的命令為,
[SiB@Celeron-D ~]$ pkg-config --libs opencv
-lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_ml -lopencv_video -lopencv_features2d -lopencv_calib3d -lopencv_objdetect -lopencv_contrib -lopencv_legacy -lopencv_flann
上例是在 Fedora 17 的查詢情形,下例是在 Fedora 14 的查詢結果,
[SiB@Celeron-D ~]$ pkg-config --libs opencv
-lml -lcvaux -lhighgui -lcv -lcxcore
這些參數是使用 gcc 編譯、鏈結時,附加在後面的參數。包含『編譯』及『鏈結』兩個階段所用,參考之前的兩個發文,再加一些測試,應該就可以順利應用這幾個參數了。

註:不同版本的套件所提供的函式庫可能不一樣,所以不可沿用其它版本查詢的資訊。

已測試版本:

  • Fedora 14 + Eclipse 3.6.1 + OpenCV 2.1.0
  • Fedora 17 + Eclipse 4.2.0 + OpenCV 2.3.1

2012年9月3日 星期一

Fedora 17 中,用 Eclipse 開發 OpenCV 程式

前文件 " 在 Linux 中,用 Eclipse 開發 OpenCV 程式 " 中所載,在 Eclipse 設定 include 和 library 的方法,在 Fedora 17 中有些部份不再適用。除以下修改部分外,其餘不變,請參考前文。

設定 Link(鏈結)的參數

  • 從「選單」→「專案 (P)」點選「內容 (P)」,設定專案的內容。
  • 當跳出專案設定視窗後,
    • 從左欄的「C/C++ Build」點選「Settings」,接著再設定右欄 Settings 。
    • 在右欄中的「Configuration:」選 "[All Configurations]",使「除錯版」與「釋出版」有相同設定。
  • 設定 Link(鏈結)的參數,從「Tool Settings」→「GCC C Linker」點選「Libraries」,再按「Libraries (-l)」右方的 『+』圖示,
    • 加入 " opencv_core "、" opencv_imgproc "、" opencv_highgui " 三個(要分三次加入)。
按確定後,完成專案設定。

已測試版本:

  • Fedora: 17
  • Eclipse: 4.2.0
  • OpenCV: 2.3.1

2012年8月20日 星期一

在 Fedora 中,用 Eclipse 開發 OpenMP 程式

多執行緒 (Multi-Thread) 在物件導向 (Object-Oriented) 程式中很重要,但是真正使用它來寫程式並不普遍,可能是因為將資料分由數個執行緒合作完成,在資料的安排上有些複雜。現在的電腦多是多處理器、多核心,多執行緒的程式可以分在不同處理器/核心執行,可以增加不少運算速度。
    OpenMP 應用 thread 的方式來達到「平行處理」的目的,也解決了資料分散處理、合併的問題。因此是該好好學習它了,利用 Eclipse 的方便,開發、除錯 OpenMP 的程式應該是個好主意。
    接下來介紹一下,如何在 Fedora (或 Linux) 中,用 Eclipse 開發 OpenMP 程式。

2012年8月13日 星期一

在 Linux 中,用 Eclipse 開發 OpenCV 程式

在 Linux 中使用 OpenCV 這套函式庫時,通常查到的資料都是 gcc 的指令型式。對初學者而言,不容易除錯,也沒有熟悉的 GUI 介面。想用 Eclipse 來開發 OpenCV 的程式,卻屢試不成。其實,只要在開發專案的內容加上設定就可以了。

2012年8月12日 星期日

在 Linux 中,用 Eclipse 寫第一個程式 HelloWorld

Linux 的開發工具以 Eclipse 為主,雖然有許多專業的程式開發者習慣使用簡單的 vi 和 gcc ,但是對程式的初學者而言,是有一定的難度,能夠用 Eclipse 當然是較符合初學者的學習方式。在以下的步驟裏,就針為在 Linux 裏用 Eclipse 開發程式,做一「最簡單」的示範。