Posts tagged ‘c/c++’

Continue reading ‘《从汇编语言到Windows内核编程》第一章:汇编指令与C语言’ »

Continue reading ‘《运行 Linux (第五版)》第二十一章:编程工具’ »

Continue reading ‘MinGW 资源’ »

Continue reading ‘使用 MinGW 建立 DLL’ »

[来自于 solidot]

Facebook如期待的那样宣布了新的PHP runtime开源项目HipHop for PHP。 事实上HipHop并不是一个新项目,Facebook已经使用它有数个月之久,目前Facebook 90%的服务器都运行着HipHop。Facebook声称它让Web server的CPU占用下降了大约50%,更少的CPU意味着更少的服务器和更少的系统开销。

运行HipHop for PHP并不需要重新编译PHP源代码,它是通过程序转换将PHP代码转变成高度优化过的C++代码,然后用GCC编译它。HipHop以语义等价的方式执 行源代码,牺牲一些不常用的功能——如eval()——以之交换改进性能。它不仅仅是一个runtime,它还是一个新的webserver。 Facebook开发者David Recordan:“Apache在总体上是一个很棒的Web server,但他们不需要使用到Apache提供的所有功能。”

[来自 solidot]

Atomthreads是一款自由、轻量级、便携式、实时调度的嵌入式操作系统。 它采用BSD许可证发布源代码,无论是出于商业还是教育目的都可以不受限制的免费使用。Atomthreads针对的是只需要调度器和基本RTOS功能的 系统,它不包含文件系统、IP堆栈或设备驱动程序。但开发者可以按需添加。Atomthreads是一个小的C文件,很容易移植到其它平台。

现象

使用 DialogBlocks 建立自定义窗口类,使用 wxFlexGridSizer 布局控件。主窗口类使用这个自定义的窗口类作为子控件。因为这个子控件在程序开始运行隐藏,只在执行某项任务完成后才显示,结果在显示时位置和尺寸都不对,几乎不可见,使用鼠标调整主窗口尺寸后这个子控件的布局和尺寸才随之变化达到设计意图。

Continue reading ‘wxWidgets 怎样重新计算窗口布局’ »

现象

Firebird 数据库表中字段类型为 Float,使用 IBPP set() 函数使用 double 类型设置 Prepared Statement 中对应的 Parameter 时发生错误。因运行时无法看到错误信息,虽然记录不能插入表,但程序也不总是在这个时候崩溃,因此这个问题相当隐蔽。

Continue reading ‘Firebird 字段类型与 IBPP set() 函数参数类型匹配问题’ »

现象

HAT 程序在处理 TESTING_THREAD_DONE 事件时,出现非法操作引起程序退出。疑为转换指针类型时发生错误。

Continue reading ‘wxWidgets 控件 ID 冲突’ »

现象

在编译手工编码的 MpiProdave.cpp/MpiProdave.h 时,使用 DialogBlocks MinGW Debug (Non-Unicode)标准编译器设置发生编译错误如下。这种错误在其他 DialogBlocks 生成的某些 c++ 文件编译时也会出现。而使用 MinGW Unicode Debug 标准编译设置时则没有编译错误发生。

g++.exe -c -o MinGWDebug/MpiProdave.o -fno-pcc-struct-return -fstrict-aliasing -Wall -Wno-write-strings -D__WXMSW__ -D__GNUWIN32__ -D__WIN95__  -D__WXDEBUG__ -ggdb -O0 -Wall -Wno-write-strings -I"C:/wx/include" -I"C:/wx/contrib/include" -I"C:/wx/lib/gcc_lib/mswd" src\MpiProdave.cpp
*** In file included from C:/wx/include/wx/toplevel.h:317,
***                  from C:/wx/include/wx/dialog.h:17,
***                  from C:/wx/include/wx/msw/msgdlg.h:16,
***                  from C:/wx/include/wx/msgdlg.h:49,
***                  from src\MpiProdave.cpp:17:
*** C:/wx/include/wx/msw/toplevel.h:122: error: expected identifier before numeric constant
*** C:/wx/include/wx/msw/toplevel.h:122: error: expected `,' or `...' before numeric constant
*** C:/wx/include/wx/msw/toplevel.h:122: error: ISO C++ forbids declaration of `parameter' with no type
*** mingw32-make.exe: *** [MinGWDebug/MpiProdave.o] Error 1

Continue reading ‘MinGW 宏定义与 wxWidgets 头文件冲突’ »