细述 wxWindows
2008-09-30 13:05:33 来源:WEB开发网Windows 3.1,Windows 95/98,Windows NT
带有 Motif/Lesstif 的大多数 UNIX 版本
带有 GTK+ 的大多数 UNIX 版本
Mac
仅带非 GUI 类的 wxBase 库也可以在 UNIX/Win32 和 BeOS 下构建(有一些限制)。即使您不是将 wxWindows 作为 DLL 编译,也可以获得非常小的可执行文件。例如,使用 Windows 平台的 Microsoft Visual C++ 所编译的最小的样本应用程序小于 400 KB。因为 wxWindows 的可执行程序很小,所以通常可以避免所谓的“DLL 灾难”。
现在,让我们看看多平台特性...
独立于体系结构的类型
为避免体系结构的依赖性,该库提供了各种独立于体系结构的类型和宏,能够根据应用程序的尾数来处理位交换。它们包括:
wxInt32(32 位有符号整数)
wxInt16(16 位有符号整数)
wxInt8(8 位有符号整数)
wxUint32(32 位无符号整数)
wxUint16 = wxWord(16 位无符号整数)
wxUint8 = wxByte(8 位无符号整数)
位交换宏可用于整数和无符号整数(其中的 xx 代表 16 或 32,BE 代表大尾数法,LE 代表小尾数法。)
wxINTxx_SWAP_ON_BE()
wxUINTxx_SWAP_ON_BE()
wxINTxx_SWAP_ON_LE()
wxUINTxx_SWAP_ON_LE()
wxINTxx_SWAP_ALWAYS()
wxUINTxx_SWAP_ALWAYS()
这里的用法很直接,如下例所示:
32 位带符号整数变量的字节交换
wxInt32 old_var = 0xF1F2F3F4;
wxInt32 new_var = wxINT32_SWAP_ALWAYS( old_var )
除了这些宏以外,wxWindows 还提供了 #define 来定义机器(库在其上编译)的当前尾数。以下是它的一例:
更多精彩
赞助商链接