2015年7月19日 星期日

[C#] 使用 Visual Studio C# 調用 C/C++ dll 時進行偵錯

        程式可以逐行執行對於偵錯會有很大的幫助,當 C# 使用 PInvoke 調用 C++ dll 時,如果我們已經有 C++ 的原始程式碼,要如何進行 C++ dll 部分的偵錯呢?

2015年7月11日 星期六

[C++] enum to string 的方法實作 (X Macro)

        相信很多人很多時候都會想要把 enum 列舉的數值轉換成 string,方便寫出檔案或顯示到 UI 上,這種轉換的方法在很多高階語言,例如 C#, Java 等都有方法直接支援,但是C / C++ 就沒這麼方便了。以下介紹幾種在 C++ 實作 enum 轉 string 的方法。

2015年6月11日 星期四

[C#] 用 dll 做 Plugin 吧!

        雖然說累積了蠻多東西可以寫的,不過最近有空都在做自己的小專案,所以一直都沒在更新文章 ( 其實也是懶得更新 )。為了避免這裡就這樣荒蕪掉,所以還是來發篇文章吧!

        這次的內容主要介紹 C# 應用程式如何透過 dll 來做 plugin,方法沒有很困難,不過一個 plugin 就是一個 dll 檔,也就等於是一個專案,所以在範例中會開蠻多專案的,手續會稍微繁複一點。現在就開始撰寫我們的範例程式吧!

2015年3月26日 星期四

[C#] 自製漸層色的控制項 (Gradient Control)

        C# Windows Form 專案裡面的 toolbox 很好用,可以讓初學者輕鬆地只靠拖拖拉拉就做出一個 Windows 視窗程式,比用 MFC 之類的簡單多了。

        但用久了會覺得 ... 原生 toolbox 內的控制項 (Control) 風格都很單調,非常的 "Windows",在這種強調個性化的現代社會,當然要來嘗試做點變化,而本篇會示範怎麼做一個簡單的線性雙色漸層 (Gradient color)  Form Control,難度不會很高,我們先來看看結果 :

2015年3月6日 星期五

[C++] Visual Studio 2013 關閉 namespace 縮排 (Indenting) 方法

        Google C++ coding style 裡面有一項是 namespace 不要縮排。雖然我沒有遵循 Google 的寫作風格,但我也有 namspace 不縮排的習慣,畢竟特別為包覆整份文件的 namespace 縮排的意義不大,而且遇到多層 namespace 時,一層又一層的縮排反而降低可讀性,還可能扼殺使用 namespace 這個好工具的意圖。當然,使用 C# 的人比較不會遇到這種問題。

        Visual Studio 的自動排版工具非常好用,寫一寫排版亂了,或是到處貼程式讓縮排跑掉的時候,Ctrl+K+F 快捷鍵自動縮排多麼方便,但如果你也像我一樣不喜歡在 namespace 縮排的話,Visual Studio 的自動縮排就會造成困擾。以下介紹兩個可以迴避這個問題的方法:

2015年1月20日 星期二

在 Linux 寫程式: gcc 及 Makefile 教學筆記 (1)

        剛從 Windows 跳到 Linux 的 Programmer 應該都會跟我遇到類似的問題吧,就是 Linux 到處都是 Makefile,看不懂,畢竟 Windows 沒有這種東西,在 Windows 裡, Makefile 的工作都由 IDE 代勞了,這裡不得不說 Visual Studio 真的是很強大的整合開發環境,會寵壞小孩。但現在要進到 Linux 的領域,就勢必要搞懂這個 Makefile 在做什麼,大概怎麼寫,不然會遇到蠻多障礙,而這篇就是筆記 Makefile 的使用方式。

2015年1月13日 星期二

Linux 網路驅動程式學習筆記(0) - 前言與環境準備

        最近在研究 Linux 驅動程式,對於我這個 Linux 初心者而言,馬上就要碰驅動程式真的有點難度,通常學 Linux 驅動程式也不會直接從網路驅動程式開始,一般的建議是從字元驅動程式開始入門。不過不是什麼時候都有時間可以按部就班來學,總是會有需要硬著頭皮上的時候,這時就只能打開超級海綿模式,能吸收多少就盡量吸收,至少到能夠到可應戰的階段。

        這系列文章"預計"是我學習 Linux 網路驅動程式的筆記,為什麼是"預計"呢?希望我下班或放假都能抽空來寫啦!原則上我是照著 Linux Device Driver 3rd (簡稱LDD3) 這本聖經本來學,這是在網路上可以直接看得到的開放書籍,也有出中譯版本,我個人是覺得這本寫得蠻淺顯易懂的,雖然中文版有點貴,但對於喜歡翻實體書的人,我很推薦可以蒐藏這本。