随笔分类 - IT基础
摘要:关于内存映射的基本知识以及一些函数的原型说明,参考博客:http://blog.csdn.net/wcyoot/article/details/7363393下面是我对于读取一个104M文件大小,使用内存映射和传统的读文件方法进行了时间上的对比,两种方法都从该文讲读取300000*34个浮点数。测试环境:vs2010 1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 8 9 10 11 int main()12 {13 clock_t start, finish;14 ...
阅读全文
摘要:有时候我们在coding的过程中经常需要知道某个变量所能表示的最大或者最小值,在程序设计的基础课上老师肯定也都讲过,只是那么多的数值没办法都记住,下面是我的一些经验,这些也是一个程序员应该掌握的基本知识。下面只以int类型举例,默认 int 32位。首先要明白的是,整数采用的是补码表示方法,忘了补码概念的可以参考http://baike.baidu.com/view/377340.htm。对于有符号整数,最高位是符号位,1表示负数,0表示正数。+0和-0的补码均为:所有位全部置0。int 的最大值二进制表示为:01111111 11111111 11111111 11111111 即2^31.
阅读全文
摘要:最近在百度知道看到很多提问是关于RT的一些提问,下面是我在学习的过程中的一些总结,当然大虾可以忽视的,只是给初学者一些参考。一 二维数组动态申请空间假设我们要申请一个m行n列的整形数组,m、n的值可以在程序中动态改变1 使用malloc和free:int **buf;//申请buf =(int **)malloc(sizeof(int *)*m);for(int i=0;i<m;i++)buf[i]=(int *)malloc(sizeof(int)*n);//释放for(int i=0;i<m;i++)free(buf[i]);free(buf);2使用new和delete:in
阅读全文
摘要:一、问题的提出编写一个耗时的单线程程序: 新建一个基于对话框的应用程序SingleThread,在主对话框IDD_SINGLETHREAD_DIALOG添加一个按钮,ID为IDC_SLEEP_SIX_SECOND,标题为“延时6秒”,添加按钮的响应函数,代码如下:void CSingleThreadDlg::OnSleepSixSecond(){Sleep(6000); //延时6秒} 编译并运行应用程序,单击“延时6秒”按钮,你就会发现在这6秒期间程序就象“死机”一样,不在响应其它消息。为了更好地处理这种耗时的操作,我们有必要学习——多线程编程。二、多线程概述 进程和线程都是操作系统的...
阅读全文
摘要:1、要区分标准C的库和标准C++的库。iostream是C++的库,stdio.h是标准C的库。2、新的C++标准摒弃了.h形式的头文件,所以在vs2005里面是没有iostream.h的头文件的。3、在早期的vs版本,比如VC6.0,用的还是老版本的C++标准库,例如iostream.h,并且当时标准库也没有引入名字空间。因此直接#include <iostream.h>是可以的。但到了vs2005,使用了新的C++标准库,只能用#include <iostream>。4、名字空间里可以包含很多东西,比如函数名、标识符、数据类型等等。新的C++标准把标准库中的名字都放
阅读全文
摘要:C运行时库函数C运行时库函数是指C语言本身支持的一些基本函数,通常是汇编直接实现的。API函数API函数是操作系统为方便用户设计应用程序而提供的实现特定功能的函数,API函数也是C语言的函数实现的。区别他们之间区别是:API函数是针对操作系统的,C语言运行时函数则是针对C语言本身的。=================================================================================================·1、运行时库就是 C run-time library,是C而非C++语言世界的概念。取这个名字就是因为你的C
阅读全文
摘要:在visual c++ 2008 中,当选择编辑一个32位Win32控制台应用程序时。初始状态下系统自带函数: int _tmain(int argc, _TCHAR* argv[]) { return 0; }上述Win32控制台应用程序的入口程序是用来存放机器的一个环境变量的,如:机器名,系统信息等。其中:·int argc //参数个数·char *argv[] //字符串数组,字符串数组的每个单元是 char* 类型的,指向一个C风格字符串。·_TCHAR类型是宽字符型字符串,它是32位或者更高的操作系统中所使用的类型。出处: #include <i
阅读全文
摘要:(1) rand()函数:原型: int rand(void)功能: 产生从[0,RAND_MAX]之间的随机数,RAND_MAX为系统定义的宏, 32位机器上大小为32767。头文件: stdlib.h或者iostream(2)srand()函数:原型: void srand(unsigned seed)功能: 产生随机数的起始发生数据,和rand函数配合使用头文件: stdlib.h或者iostreamtime.h比如以当前时间作为起始发生数据:srand( (unsigned)time(0) );(3) randomize()函数:原型:void randomize(void)功能: 通
阅读全文
摘要:1 time()头文件:time.h函数原型:time_t time(time_t * timer)功能: 获取当前的系统时间,返回的结果是一个time_t类型,其实就是一个大整数(long),其值表示从CUT(Coordinated Universal Time)时间1970年1月1日00:00:00(称为UNIX系统的Epoch时间)到当前时刻的秒数。然后调用localtime将time_t所表示的CUT时间转换为本地时间(我们是+8区,比CUT多8个小时)并转成struct tm类型,该类型的各数据成员分别表示年月日时分秒。举例://获取当前时间time_t nowtime;struct
阅读全文
摘要:PrecedenceOperatorDescriptionExampleAssociativity1()[]->.::++--Grouping operatorArray accessMember access from a pointerMember access from an objectScoping operatorPost-incrementPost-decrement(a + b) / 4;array[4] = 2;ptr->age = 34;obj.age = 34;Class::age = 2;for( i = 0; i 0; i-- ) ...left to r
阅读全文
摘要:首先要先说一下缓冲区的概念,c语言标准库的输入函数都是从缓冲区(stdin)读取数据,而不是直接从键盘(或者说键盘缓冲区)读取。回显地概念:输入时,输入的数据显示在控制台终端,无回显则不显示scanf()1、在输入多个数值数据时,若格式控制串中没有非格式字符作输入数据之间的间隔则可用空格,TAB或回车作间隔。 2、C编译在碰到空格,TAB,回车或非法数据(如对“%d”输入“12A”时,A即为非法数据)时即认为该数据结束。3、scanf()的格式控制串可以使用空白字符或其它非空白字符,使用空白字符会使scanf()函数在读操作中略去输入中的一个或多个空白字符。scanf("%c%c%c
阅读全文