win下開發跨平台GUI程式的另類選擇

2021-08-31 10:40:46 字數 648 閱讀 6947

gtk+

● gtk+的**:

www.gtk.org;

● gtk+原本是gimp的乙個工具庫,是在lgpl協議下發布的unix系統gui庫;

● gtk+已經被移植到windows,vms以及其他的系統上面(在macos x上面現在可以通過蘋果的x11應用程式實現,其本地版本正在開發之中),使用相同的api。但是,gtk+的設計初衷是unix,多平台的開發是後來才加入的;

● gtk+是gnome使用者介面的原始構建庫;

● 不同於wxwidgets,gtk+支援c語言(同樣,gtk+也有乙個c++的封裝版本gtkmm,

● gtk+的api被很好的設計過,包含了安全型別轉換和其他的一些機制,但是c++語言已經內建了這些;

● gtk+構建在glib庫之上,這是乙個通用庫(在某些方面類似於c++的stl,它提供了一些資料結構,以及一些幫助記憶體管理的函式等);

● 在不同平台具有相對一致的介面,除了windows xp,在xp系統中,gtk+嘗試使用wimp外觀(基於uxtheme)來模擬windows本地介面,獲得了一定的成功。但是,它依然是乙個unix庫;

● 既然wxwidgets在unix上使用gtk(或是gtk2),也就沒有什麼理由在wxwidgets之上構建跨平台的c++程式了。

跨平台C 程式開發經驗小結

這些是一些自己在開發過程中與移植程式過程中碰到的linux程式設計與windows程式設計的差異之處,以及從網上總結了一些解決辦法和經驗。1.檔案與目錄的大小寫以及路徑分隔符的差別。windows下不區分大小寫,路徑分隔符一般使用 linux下區分大小寫,路徑分隔符使用 2.itoa 函式在linu...

跨平台C 程式開發經驗小結

這些是一些自己在開發過程中與移植程式過程中碰到的linux程式設計與windows程式設計的差異之處,以及從網上總結了一些解決辦法和經驗。1.檔案與目錄的大小寫以及路徑分隔符的差別。windows下不區分大小寫,路徑分隔符一般使用 linux下區分大小寫,路徑分隔符使用 2.itoa 函式在linu...

Erlang程式的跨平台問題

用erlang寫出的程式,如果使用依賴某一作業系統的專有技術,會在其他系統上跑不起來。最近,學用mochiweb過程中,在windows的cygwin中遇到了這個問題。開啟瀏覽器,http localhost 8000 出現網頁,程式執行正常。但是,由於mochiweb是在linux上開發的,使用了...