上一页 1 ··· 74 75 76 77 78 79 80 81 82 ··· 161 下一页
摘要: 什么是缓冲区缓冲区又称为缓存,它是内存空间的一部分。也就是说,在内存空间中预留了一定的存储空间,这些存储空间用来缓冲输入或输出的数据,这部分预留的空间就叫做缓冲区。缓冲区根据其对应的是输入设备还是输出设备,分为输入缓冲区和输出缓冲区。为什么要引入缓冲区我们为什么要引入缓冲区呢?比如我们从磁盘里取信息,我们先把读出的数据放在缓冲区,计算机再直接从缓冲区中取数据,等缓冲区的数据取完后再去磁盘中读取,这样就可以减少磁盘的读写次数,再加上计算机对缓冲区的操作大大快于对磁盘的操作,故应用缓冲区可大大提高计算机的运行速度。又比如,我们使用打印机打印文档,由于打印机的打印速度相对较慢,我们先把文档输出到打印 阅读全文
posted @ 2012-11-27 13:35 郑文亮 阅读(554) 评论(0) 推荐(0)
摘要: 在VC中,CSTRING类的用法形式多样,丰富多彩.但有时与传统数据类型之间的转换成为了很多人的难题.下面我来简单介绍它们之间的关系.1 如何实现cstring与char*之间的转换: CString m_cstr="abc"; char* m_char="def";char*lp=m_cstr.GetBuffer(m_cstr.GetLength());m_cstr.ReleaseBuffer(); //相反的char*转换成cstringm_cstr.Format("%s",lp); //lp为数组指针第二种:强制类型转换为LPC 阅读全文
posted @ 2012-11-27 13:32 郑文亮 阅读(10804) 评论(0) 推荐(0)
摘要: 在C中,默认的基础数据类型均为signed,现在我们以char为例,说明(signed) char与unsigned char之间的区别首先在内存中,char与unsigned char没有什么不同,都是一个字节,唯一的区别是,char的最高位为符号位,因此char能表示-128~127, unsigned char没有符号位,因此能表示0~255,这个好理解,8个bit,最多256种情况,因此无论如何都能表示256个数字。在实际使用过程种有什么区别呢?主要是符号位,但是在普通的赋值,读写文件和网络字节流都没什么区别,反正就是一个字节,不管最高位是什么,最终的读取结果都一样,只是你怎么理解最高 阅读全文
posted @ 2012-11-27 13:25 郑文亮 阅读(1420) 评论(2) 推荐(0)
摘要: 最近在学习一些SOCKET通讯协议设计的知识,涉及到了一些协议的设计,需要打包和解包,所以把一些比较基本的知识搜集了下来.暂时把协议结构定义得比较简单,也就是 CMD(命令类型8位)+序号(整形16位)+接收人长度(整形16位)+消息内容(每个包只接收1024位消息内容,多余的需要分割);下面是需要用到的一些方法.//整数到字节数组的转换 public byte[] intToByte(int intValue) { byte[] result = new byte[4]; result[0] = (byte) ( (intValue & 0xFF000000) >> 24 阅读全文
posted @ 2012-11-27 13:13 郑文亮 阅读(3500) 评论(0) 推荐(0)
摘要: 上网学了好多方法,关于Android的Activity如何退出。好多方法都不行啦,试了各种方法,下面这种方法就是我最喜欢的,简单又容易懂。使用单例模式创建一个Activity管理对象,该对象中有一个Activity容器(具体实现自己处理,使用LinkedList等)专门负责存储新开启的每一个Activity,并且容易理解、易于操作,非常不错!MyApplication类(储存每一个Activity,并实现关闭所有Activity的操作Java代码 publicclassMyApplicationextendsApplication{ privateList<Activity>act 阅读全文
posted @ 2012-11-27 09:17 郑文亮 阅读(1928) 评论(3) 推荐(1)
摘要: 因刚接触VC++的开发,需要对C++一些原理性的东西进行掌握。特别是对源文件和头文件的概念,需要深入对它了解:转载于:.h和.cpp文件的区别 关于头文件和源文件的分别首先,我们可以将所有东西都放在一个.cpp文件内.然后编译器就将这个.cpp编译成.obj,obj是什么东西?就是编译单元了.一个程序,可以由一个编译单元组成,也可以有多个编译单元组成. 如果你不想让你的源代码变得很难阅读的话,就请使用多个编译单元吧.(一个函数不能放到两个编译单元里面,但两个以上就可以分别放在一个单元,也就是cpp里面) 那么就是一个.cpp对应一个.obj,然后将所有的obj链接起来(通过一个叫链接器的程序. 阅读全文
posted @ 2012-11-26 16:11 郑文亮 阅读(489) 评论(0) 推荐(0)
摘要: 为了避免同一个文件被include多次1 #ifndef方式2 #pragma once方式在能够支持这两种方式的编译器上,二者并没有太大的区别,但是两者仍然还是有一些细微的区别。 方式一: #ifndef __SOMEFILE_H__ #define __SOMEFILE_H__ ... ... // 一些声明语句 #endif 方式二: #pragma once ... ... // 一些声明语句 #ifndef的方式依赖于宏名字不能冲突,这不光可以保证同一个文件不会被包含多次,也能保证内容完全相同的两个文件不会被不小心同时包含。当然,缺点就是如果不同头文件的宏名不小心“撞车”,可能就会导 阅读全文
posted @ 2012-11-26 14:31 郑文亮 阅读(257) 评论(0) 推荐(0)
摘要: 在VS2005里开发的VC++程序在编译的时候,微软默认会加入自己的.Net Framework (方便推广自家产品),让你的VC++程序依赖它,这就导致程序编译后,无法跟往常一样直接打包,在别的机器就能正常运行。如果加入了.Net Framework ,安装包就会非常大。以下方法很好的解决了这个问题,通过以下两种方法可以用VS2005将VC++程序编译为不需要依赖.Net Framework就可以直接运行的程序了。方法一:1、右键项目-属性2、配置属性-C/C++-代码生成3、运行时库-选择/mt或者/mtd即 Multi-threaded(/MT) 或Multi-threadedDebug 阅读全文
posted @ 2012-11-26 13:29 郑文亮 阅读(1032) 评论(1) 推荐(0)
摘要: 做移动开发快一年了,有幸接触了WM、Symbian、Android、iPhone等多个平台的开发。往往一个软件需要实现多个平台的版本,对于不同平台进行重新编码是一件很费劲的事情,其实我们可以通过代码共用技术,实现对一些代码的重用。 这一技术的应用,可以带来不少的好处:1.代码重用:节约开发和维护的时间2.核心代码的保护:将核心代码编译成库,只将库而不是源代码提供给上层开发人员使用。3.。。。。。。 本文将实现一个支持这几个平台的天气信息查询软件,软件采用C语言去实现调用WebService接口获取天气信息的功能,并将其编译成各种平台能够调用的库,而UI则采用各个平台各自的语言去实现,最... 阅读全文
posted @ 2012-11-26 11:21 郑文亮 阅读(522) 评论(1) 推荐(2)
摘要: CString urlEncode(CString s){int len = s.GetLength();char *out = new char[len*9+1];memset(out , 0 , len*9+1);int i , j;int ch = 0 ;static char myhex[0xFF+1][4]; //add by zhouzd 2008-10-06static bool isinital = false;if ( !isinital ){for ( i = 0 ; i <= 0xFF ; ++i ){myhex[i][0] = '%';sprint 阅读全文
posted @ 2012-11-23 18:27 郑文亮 阅读(2482) 评论(0) 推荐(0)
上一页 1 ··· 74 75 76 77 78 79 80 81 82 ··· 161 下一页