【GUI】wxWidgets(旧wxWindows) その5【サイザー】 (960レス)
【GUI】wxWidgets(旧wxWindows) その5【サイザー】 http://mevius.5ch.net/test/read.cgi/tech/1270793556/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
691: デフォルトの名無しさん [sage] 2014/08/31(日) 20:18:05.13 ID:da+aRwUf CodeBlocks + MinGW32 で、 wxWidgets の Monolithic、ASCIIライブラリ, 静的リンク で 最も簡単な Frame Based な GUI を作成してみたら、 2,073,600 バイトよりは小さくならなかった。 wxWidgets のライブラリは、 -Os -ffunction-sections -fdata-sections でコンパイルし、 -Wl,--gc-sections -s でライブラリ化した。その時のコマンド: mingw32-make -j2 -f makefile.gcc CPPFLAGS="-MD -MP -DHAVE_W32API_H -D__WXMSW__ -DNOPCH -DwxDEBUG_LEVEL=0 -DNDEBUG" CFLAGS="-mthreads -fmessage-length=0 -ffunction-sections -fdata-sections -fno-builtin -Os" CXXFLAGS="-mthreads -Wno-ctor-dtor-privacy -fmessage-length=0 -ffunction-sections -fdata-sections -fno-builtin -Os -fno-keep-inline-dllexport" LDFLAGS="-Wl,--subsystem,windows -Wl,--gc-sections -s -mthreads -mwindows" BUILD=release UNICODE=0 SHARED=0 MONOLITHIC=1 CodeBlocks でアプリのリンクのオプションにも、 -Wl,--gc-sections -s は付けてある。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/691
692: デフォルトの名無しさん [sage] 2014/08/31(日) 20:27:38.74 ID:da+aRwUf ちなみに、Unicode 版より ASCII 版のほうが小さくなることを確認済みである。 [Compiler settings - #defines] が、標準では、 __GNUWIN32__, __WXMSW__, WXUSINGDLL, wxUSE_UNICODE, WX_PRECOMP となるところを: __GNUWIN32__, __WXMSW__ だけとし、 [Search Directories] の Compiler, Linker, Compiler の、gcc_dll の部分を、gcc_lib に変えた。 アプリにリンクするリンクライブラリとしては、上記で作成した Monolithic ライブラリだけでは足りず、以下が必要であった。Win32のimport libraryは、 ライブラリを動的リンクする場合はライブラリのDLLが行っているので必要ない が、ライブラリを静的リンクする場合は、アプリが直接リンクする必要がある ため必要となるのは理解できる。libwxpng, libwxjpeg, libwxtiff, libwxzlib が必要となった理由は不明。 libwxmsw28 // これが wxWidgets の monolithic ライブラリ本体。 libwxpng libwxjpeg libwxtiff libwxzlib libuuid // Win32 の import library libcomctrl32 // Win32 の import library libwinspool // Win32 の import library liboleaut32 // Win32 の import library libole32 // Win32 の import library ちなみに、wxWidgets を動的リンクする場合は、ここが、libwxmsw28 だけで済む。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/692
693: デフォルトの名無しさん [sage] 2014/08/31(日) 20:33:24.61 ID:da+aRwUf 誤:[Search Directories] の Compiler, Linker, Compiler 正:[Search Directories] の Compiler, Linker, Resource Compiler 誤:Win32のimport libraryは、ライブラリを動的リンクする場合はライブ ラリのDLLが行っているの 正:wxWidgets ライブラリをアプリに動的リンクする場合は wxWidgets ライブラリの DLL 部分が Win32 の import library の リンクを行っているの http://mevius.5ch.net/test/read.cgi/tech/1270793556/693
696: デフォルトの名無しさん [sage] 2014/08/31(日) 20:58:57.78 ID:da+aRwUf >>694 でも wxWidgets がやっていることの割にはリンクされるバイト数が多すぎる 感じがする。 基本、Win32をラッピングしているだけなのだから、2MBも必要ない。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/696
698: デフォルトの名無しさん [sage] 2014/08/31(日) 21:04:00.35 ID:da+aRwUf >>697 でもソースを呼んでみたら、たとえば、wxListCtrl なんかは、 Win32 の LIST CONTROL をそのまま使っていた。 DrawRect()などで書いているわけではない。 ただし、wxGenericListCtrl だったかは、DrawRect()みたいなグラフィック 関数で独自に描画していた。が、それは、Windows版では簡単には使えない という噂を聞いたが。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/698
699: デフォルトの名無しさん [sage] 2014/08/31(日) 21:06:47.60 ID:da+aRwUf >>697 wxWidgets の基本設計は、Widgetは、OS nativeの物を使うが、 どんなサイズであっても対応できるように Sizer で Layout を コントロールする、という物。 なので、抽象化はサイズと配置程度で済むはずなのだが・・・。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/699
701: デフォルトの名無しさん [sage] 2014/08/31(日) 23:57:56.42 ID:da+aRwUf wxWidgets の samples で ListCtrl 関連を見てみたが、ヘッダを ドラッグしようとしてもドラッグできないので、ドラッグによる列の入れ替 えは出来ないようだった。 実は、Win32 の LIST CONTROL は、 ・マウスドラッグによる自動的な列の入れ替えをした際、どこにどの列が 行ったかを掌握するには注意が必要。動作を知るには基本的に実験を必要 とする。 ・第1カラムを削除すると第2カラム以降を削除した時とは同じとは言えない 奇妙な動作をする。奇妙な動作と言ったがバグに近い。 こういった辺りがどう処理されているか知りたかったのだが、サンプルでは 故意か偶然か、全くそこに触れていないようだった。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/701
702: デフォルトの名無しさん [sage] 2014/08/31(日) 23:59:28.64 ID:da+aRwUf wxWidgets の samples で ListCtrl 関連を見てみたが、ヘッダを ドラッグしようとしてもドラッグできないので、ドラッグによる列の入れ替 えは出来ないようだった。 実は、Win32 の LIST CONTROL は、 ・マウスドラッグによる自動的な列の入れ替えをした際、どこにどの列が 行ったかを掌握するには注意が必要。動作を知るには基本的に実験を必要 とする。 ・第1カラムを削除すると第2カラム以降を削除した時とは同じとは言えない 奇妙な動作をする。奇妙な動作と言ったがバグに近い。 こういった辺りがどう処理されているか知りたかったのだが、サンプルでは 故意か偶然か、全くそこに触れていないようだった。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/702
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.029s