C和CPlusPlus
C和Delphi枚举类型定义的转换
由 drupal 于 星期五, 2008-09-19 17:19 发表这两天转换C语言的头文件时发现一个问题。Delphi的枚举类型和C是不完全等价的。C的枚举类型的size总是4个字节,而Delphi的枚举类型的size跟最大枚举值有关,如果最大枚举值小于255,枚举的size只有1。所以移植C程序的时候,要在Delphi的枚举定义后加上一个值为$FFFFF的枚举项目,这样才能保证Delphi枚举定义的Size是4。
VC2005 程序的部署问题
由 drupal 于 星期三, 2008-08-13 01:38 发表上周发布的SQLite Developer2.90,2.91有用户报告无法加载sqlite3.dll。2.90版的sqlite3.dll为了追加ICU的支持,是用VC2005重新编译的,我一开始估计是依赖的DLL不存在,用Dependency walker看了一下,发现VC2005编译后的DLL引入了对MSVCR80.dll的依赖,于是将这个DLL发给了用户,结果还是报告同样的错误。很是困惑不解,于是上google上搜索了一下,才知道从VC2003开始微软为了解决DLL 版本不一致的问题,引入了基于manifest的版本管理,也就是所谓的side by side assembly的依赖管理方式。这就使得DLL和程序的分发部署变得非常复杂,简单的在程序所在目录放置相关的DLL已经不行了。安装程序必须导入一个MSI的安装包。可是我只用了一个DLL,就需要分发额外的MSI安装程序,特别是我的安装程序是用Innosetup写的,导入MSI很麻烦。搜索了半天google,终于发现只要暴力编辑一下编译后的DLL的Manifest资源信息,去掉对于版本的指定就可以了。微软为了解决一个麻烦的问题,导入了一个更加麻烦的问题,真是shit。
参考了下面这篇文章
为Source Insight添加SourceSafe的控制命令
由 gougou 于 星期二, 2006-10-03 17:31 发表- 首先确保你的Source Insight的ProjectSettings中的Project Source Folder和你的代码所在的根目录一致。
- 然后,点击Options / Custom Commands来添加自定义的版本管理命令添加Check In 命令
- Run中输入命令行SET SSDIR=\\XXXX\VSS; SET SSUSER=chen; ss cp \;ss cp ProjectFolderName;ss Checkin $%r,替换ProjectFolderName为你的项目所处的VSS的目录名,设定SSDIR为SourceSafe的配置文件所处的共享目录名。
- Dir输入框中输入%d
- 去掉Pause When Done选项
- 依次添加Check out,Get Last Version等命令即可
系统移植的一个常见问题
由 gougou 于 星期四, 2005-09-08 23:26 发表在VC多线程中操作MFC界面
由 gougou 于 星期二, 2005-08-23 12:44 发表在VC中,MFC的界面不是线程安全的,我们不能在工作线程中直接操作界面,同时MFC中也没有提供类似于Delphi的VCL的Lock方法,要想在线程中修改界面状态,通常来说是通过发消息来实现的.
有些时候,我们可以用WM_Timer消息处理来模拟多线程的运行效果,因为WM_Timer的消息处理是一个伪多线程,其实是在主线程中运行的,所以可以直接操作界面,但是同多线程的最大区别就是当界面执行一个长周期的堵塞操作时,WM_Timer消息处理函数根本不会被执行,而线程则不会有这样的问题。
XWindows的API有点恶心
由 gougou 于 星期三, 2005-08-03 15:32 发表将一个消息处理过程绑定到多个控件
由 gougou 于 星期四, 2005-07-28 16:14 发表在VC中,我们使用ClassWizard可以创建指定控件的消息处理函数,但是如果界面上有多个控件要处理时,需要绑定多个消息处理过程,如果消息处理过程完全一下的情况下,会造成大量的代码冗余,幸好VC中提供了基于控件ID范围设定的消息宏,可以将一个消息处理过程绑定到多个控件上,比如ON_CONTROL_RANGE。vc中只定义了一些常用的基于范围的消息绑定宏,特殊的消息范围宏,我们可以自定义来实现,下例就是一个将EN_SETFOCUS消息处理函数绑定到多个控件的宏。

最近在忙什么,我是李涛,有空email me
litao_free@126.com
<p>改成基于指针的引用就可以了,文中的最后一部分给出了解决方法</p>
这个没什么办法。循环引用是设计上的问题,应该手动避免。
最近比较闲,所以玩玩股票了。如果下周马上台的话,应该是一周阳线,下下周就不好说了,我觉得周K线,应该是十字星。
天亮了,台湾今天也要公布大选了,马英九也要上台了,三通概念股也该继续大涨了,呵呵。下周应该不会那么惨了吧。
我在写Delphi程序,喜欢并佩服你的《Delphi深度探索》:)
希望能成为你的朋友:)
MSN:xifengge@hotmail.com
QQ:744131. 大雪
您好,我目前刚刚接触sqlite,也希望把它移植到vxworks上面去.可惜,这方面的资料太少,自己以前对c工程化的东西做的很少,所以自己光闭门造车,时间花费了,还是没办法取得突破性进展.您能指点我一下吗?
我的QQ为:690053911,邮箱地址为:tanleiyu_81@163.com
非常感激,谢谢!!!!!!
我的email:bestyaq@21cn.com,您能把这程序源码给我吗?很急,研究一星期没有结果,郁闷中!!!
如何改变自绘制的ComboBox 的item的高度,能把item的位图绘制到ComboBox的edit框内吗?
在移植过程中 access函数和fsync函数如何处理
请指教
frank233_cn@yahoo.com.cn
很久没写东西了哈很久没写东西了哈很久没写东西了哈很久没写东西了哈很久没写东西了哈很久没写东西了哈很久没写东西了哈很久没写东西了哈很久没写东西了哈很久没写东西了哈很久没写东西了哈