03 2011 档案
摘要:.cpp 是源程序代码c++文件.h 是包含函数声明和变量定义的头文件.rc 是定义资源的资源脚本文件.dsp 是工程文件,记录当前工程的有关信息.dsw 是工作区文件,一个工作区可能包含一个或多个工程...(其它.clw .opt .aps等后缀文件,见下面说明).opt 工程关于开发环境的参数文件。如工具条位置等信息;.aps (AppStudio File),资源辅助文件,二进制格式,一般不用去管他..clw ClassWizard信息文件,实际上是INI文件的格式,有兴趣可以研究一下.有时候ClassWizard出问题,手工修改CLW文件可以解决.如果此文件不存在的话,每次用Class
阅读全文
摘要:在Windows中,用户或系统中所发生的任何活动被当作事件来处理,例如,用户按下了鼠标按钮,就产生一鼠标事件。对于所发生的每一个事件,Windows将其转换成消息的形式放在一个称为消息队列的内存区中,然后由Windows的消息发送程序选择适合的对象,将消息队列中的消息发送到欲接受消息的对象上。Windows的消息可分为四种类型: (1)输入消息:对键盘和鼠标输入作反应。这类输入消息首先放在系统消息队列中,然后Windows将它们送入应用程序的消息队列,使消息得到处理。 (2)控制消息:用来与Windows的特殊控制对象,例如,对话框、列表框、按钮等进行双向通信。这类消息一般不通过应用程...
阅读全文
摘要:认识分层: 做开发也有几年了,在开发软件的过程中,分层式结构是最常见的,也是非常重要的。 其实,分层只是一种思想,与层数无关,不管是分为三层,还是五层,抑或是七层,这些分法都是为了让我们的项目适应变化,可重用,方便程序员的开发。那些所谓的代名词: 表示层:这一层是给用户的界面;就是和用户交互的,用于显示和接收用户输入的数据的。 数据层:这一层就是负责数据库的访问,其实就是对数据表的增删改查等操作。 业务逻辑层:这一层处于表示层和数据层中间,可以看出这一层的重要性。我给他起了另外一个名字叫“华丽的承上启下”。这一层主要完成业务的规则定制、业务流程实现等任务。各司其职,分层治之: 我们将整个项目.
阅读全文
摘要:最近正在学习C++程序从 Windows 平台向 Unix 平台移植,参考了 qt 的宏定义文件Win Unix Mac 等多种系统平台的宏定义,平台移植时可做参考#ifndef QGLOBAL_H#define QGLOBAL_H#define QT_VERSION_STR "3.1.2"/* QT_VERSION is (major << 16) + (minor << 8) + patch. */#define QT_VERSION 0x030102/* The operating system, must be one of: (Q_OS_x
阅读全文
摘要:通过认识 Microsoft Windows 和 Linux 操作系统设备控制的工作原理,简化从 Microsoft Windows 向 Linux 迁移设备控制应用程序。作者分析二者的差别,并给出 C/C++ 示例。如果读者开发过不同平台的设备控制应用程序,那么肯定了解 Windows 和 Linux 的设备控制方式的差别,从一个平台向另一个平台迁移应用程序相当复杂。本文分析两种操作系统的设备控制原理,探究从架构到系统调用的各个方面,重点比较二者差别。本文还给出一个迁移示例(用 C/C++ 编写),详细演示迁移过程。从 Windows 向 Linux 迁移设备控制应用程序(IBM.com)
阅读全文
摘要:对于这个问题,网上已经有很多资料给予了介绍,但是相比于这些信息,本文立足于个人的实践,将内容具体到开发环境和源代码,我觉得还是有很多值得总结和借鉴的。首先声明开发环境。Win32程序的开发环境是VS.Net 2008,编程语言是C;Linux使用的RHEL 5.4,GCC的版本是4.1.2,编程语言也是C。然后依次说明移植的对象:数据类型/字符串处理/系统调用/套接字/进程/进程锁/线程/线程锁/信号量/事件锁/条件锁/系统服务。1. 数据类型:在开发过程中,无论哪种平台,只使用最通用的数据类型char,unsigned char,int,unsigned int,void *以及它们组合的结
阅读全文
摘要:摘要:动态链接库技术实现和设计程序常用的技术,在Windows和Linux系统中都有动态库的概念,采用动态库可以有效的减少程序大小,节省空间,提高效率,增加程序的可扩展性,便于模块化管理。但不同操作系统的动态库由于格式 不同,在需要不同操作系统调用时需要进行动态库程序移植。本文分析和比较了两种操作系统动态库技术,并给出了将Visual C++编制的动态库移植到Linux上的方法和经验。1、引言动态库(Dynamic Link Library abbr,DLL)技术是程序设计中经常采用的技术。其目的减少程序的大小,节省空间,提高效率,具有很高的灵活性。采用动态库技术对于升级软件版本更加容易。与静
阅读全文
摘要:1.PuttyPutty是一个免费的、Windows 32平台下的telnet、rlogin和ssh客户端,但是功能丝毫不逊色于商业的telnet类工具。用它来远程管理Linux十分好用,其主要优点如下:◆ 全面支持ssh1和ssh2;◆ 绿色软件,无需安装,下载后在桌面建个快捷方式即可使用;◆ 体积很小,仅364KB (0.54 beta版本);◆ 操作简单,所有的操作都在一个控制面板中实现。下载:putty.zip2.SecureCRTSecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,同时支持Telnet和rlogin协议。SecureCRT是一款用于连接 运行包括W
阅读全文
摘要:以eth0为例1.以DHCP方式配置网卡编辑文件: /etc/network/interfaces:sudo vi /etc/network/interfaces并用下面的行来替换有关eth0的行:# The primary network interface,# use DHCP to find our addressauto eth0iface eth0 inet dhcp用下面的命令使网络设置生效:sudo /etc/init.d/networking restart当然,也可以在命令行下直接输入下面的命令来获取地址sudo dhclient eth02. 为网卡配置静态IP地址编辑
阅读全文
摘要:如果安装了JDK,会发同你的电脑有两套JRE,一套位于 <JDK安装目录>/jre 另外一套位于 C:/Program Files/Java/j2re1.4.1_01 目录下后面这套比前面那套少了Server端的Java虚拟机,不过直接将前面那套的Server端Java虚拟机复制过来就行了。而且在安装JDK可以选择是否安装这个位于 C:/Program Files/Java 目录下的JRE。如果你只安装JRE,而不是JDK,那么只会在 C:/Program Files/Java 目录下安装唯一的一套JRE。JRE的地位就象一台PC机一样,我们写好的Win32应用程序需要操作系统帮我
阅读全文
摘要:装了RedHat.Enterprise.Linux.5.2后,因为认证的问题,系统自带的yum不能使用,导致安装或更新rpm包太麻烦,特别是涉及到rpm包依赖的时候,很是花费时间和精力。有了yum之后生活就一下子美好起来了。比如安装gcc编译器,只要运行“yum install gcc”命令就行了。yum会自动安装gcc依赖的包。RedHat 不让使用yum来下载他所提供的rpm包,幸而我们可以选择的是使用CentOS提供的rpm包。以下是配置yum的具体步骤。一、删除RedHat.Enterprise.Linux.5.2自带的yum1rpm -qa | grep -i yum然后用 rpm
阅读全文
摘要:开篇两个引子: 引子一: 经常和一些编程人士交流,从他们的对话中能感觉到他们都是用着面向对象工具,用着面向对象程序语言,但是往往做不出一个真正符合面向对象思想的软件。 到底是为什么?而自己将来要做什么才能编写符合面向对象思想的软件呢? 引子二: 暑假我们团队进行了short brain英语培训,简单的说这种英语的学习就是推翻了以前几乎所有的英语学习模式,建立了一种在IT环境下的short brain英语学习模式。第一、二阶段主要进行的是利用IT将声音图像建立联系,达到一种short拼写和翻译的过程。 我们为什么要这样进行呢?如题: 先说面向过程。 过程,过程,我认为就是有始点也有终点;从...
阅读全文