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 的使用方式。