上一页 1 2 3 4 5 6 7 8 9 ··· 18 下一页

2012年6月25日

摘要: structtimeval结构体在time.h中的定义为:structtimeval{time_ttv_sec;/*Seconds.*/ 秒suseconds_ttv_usec;/*Microseconds.*/ 微秒};其中,tv_sec为Epoch到创建structtimeval时的秒数,tv_usec为微秒struct timeval结构体在time.h中的定义为:struct timeval{ time_t tv_sec; /* Seconds. */ suseconds_t tv_usec; /* Microseconds. */};其中,tv_sec为Epoch到创建struct 阅读全文
posted @ 2012-06-25 20:28 很多不懂呀。。 阅读(4282) 评论(0) 推荐(0) 编辑
摘要: man pthread_detachpthread_t 类型定义: typedef unsigned long int pthread_t; //come from /usr/include/bits/pthread.h用途:pthread_t用于声明线程ID。 sizeof (pthread_t) =4;linux线程执行和windows不同,pthread有两种状态joinable状态和unjoinable状态一个线程默认的状态是joinable,如果线程是joinable状态,当线程函数自己返回退出时或pthread_exit时都不会释放线程所占用堆栈和线程描述符(总计8K多)。... 阅读全文
posted @ 2012-06-25 20:12 很多不懂呀。。 阅读(12808) 评论(0) 推荐(0) 编辑
摘要: linux下用C开发多线程程序,Linux系统下的多线程遵循POSIX线程接口,称为pthread。#include <pthread.h>int pthread_create(pthread_t *restrict tidp, const pthread_attr_t *restrict attr, void *(*start_rtn)(void), void *restrict arg);Returns: 0 if OK, error number on failureC99 中新... 阅读全文
posted @ 2012-06-25 20:09 很多不懂呀。。 阅读(1907) 评论(0) 推荐(0) 编辑
摘要: 1.概念在C/C++中,对字符串的操作有很多值得注意的问题,同样,C/C++对时间的操作也有许多值得大家注意的地方。最近,在技 术群中有很 多网友也多次问到过C++语言中对时间的操作、获取和显示等等的问题。下面,在这篇文章中,笔者将主要介绍在C/C++中时间和日期的使用方法.通过学习许多C/C++库,你可以有很多操作、使用时间的方法。但在这之前你需要了解一些“时间”和“日期”的概念,主要有以下几个:Coordinated Universal Time(UTC):协调世界时,又称为世界标准时间,也就是大家所熟知的格林威治标准时间(Greenwich Mean Time,GMT)。比如,中国内地的 阅读全文
posted @ 2012-06-25 17:26 很多不懂呀。。 阅读(5825) 评论(0) 推荐(0) 编辑
摘要: 关于强制类型转换的问题,很多书都讨论过,写的最详细的是C++ 之父的《C++ 的设计和演化》。最好的解决方法就是不要使用C风格的强制类型转换,而是使用标准C++的类型转换符:static_cast, dynamic_cast。标准C++中有四个类型转换符:static_cast、dynamic_cast、reinterpret_cast、和const_cast。下面对它们一一进行介绍。static_cast用法:static_cast < type-id > ( expression_r_r )该运算符把expression_r_r转换为type-id类型,但没有运行时类型检查来保 阅读全文
posted @ 2012-06-25 16:42 很多不懂呀。。 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 众所周知,持久对象(persistent objects)当前已经广泛应用于游戏、分布式数据库系统、多媒体以及图形应用程序中。事实上,所谓的持久化的对象,其实就是指已经存储到数据库或保存到本地硬盘中的对象,我们称之为持久化对象。在今天的文章里,软件直销网小编要为大家介绍的,就是关于C++中的持久化对象。 其实,现在C++并不直接支持持久性(persistence)(但有一些在C++未来版本中添加持久性和反射(reflection)的建议)。 事实上,持久对象能够在创建它的程序的作用域之外,保持自身状态。把对象写入一个文件并在以后重建之,或者把对象传送到一台远程机器,就是这样的例子。对持久性.. 阅读全文
posted @ 2012-06-25 13:55 很多不懂呀。。 阅读(1097) 评论(0) 推荐(0) 编辑

2012年6月21日

摘要: 首先先介绍一些基本概念: NAT(Network Address Translators),网络地址转换:网络地址转换是在IP地址日益缺乏的情况下产生的,它的主要目的就是为了能够地址重用。NAT分为两大类,基本的NAT和NAPT(Network Address/Port Translator)。 最开始NAT是运行在路由器上的一个功能模块。 最先提出的是基本的NAT,它的产生基于如下事实:一个私有网络(域)中的节点中只有很少的节点需要与外网连接(呵呵,这是在上世纪90年代中期提出的)。那么这个子网中其实只有少数的节点需要全球唯一的IP地址,其他的节点的IP地址应该是可以重用的。 因此,基本.. 阅读全文
posted @ 2012-06-21 05:49 很多不懂呀。。 阅读(3911) 评论(0) 推荐(0) 编辑

2012年6月20日

摘要: 智能指针显然是C++吸引人的地方之一,必须掌握。看了《C++primer》,里面着重讲了智能指针的实现方式。书中说到: “HasPtr(注:就是自定义的智能指针)在其它方面的行为与普通指针一致。具体而言,复制对象时,副本和原对象将指向同一基础对象。如果通过一个副本改变基础对象,则通过另一个对象访问的值也会改变。 新的HasPtr类需要一个析构函数来删除指针。但是,析构函数不能无条件的删除指针。” 条件就是引用计数。如果该对象被两个指针所指,那么删除其中一个指针,并不会调用该指针的析构函数,因为此时还有另外一个指针指向该对象。看来,智能指针主要是预防不当的析构行为,防止出现悬垂指针。如上图所示, 阅读全文
posted @ 2012-06-20 20:14 很多不懂呀。。 阅读(373) 评论(0) 推荐(0) 编辑

2012年6月19日

摘要: 一、函数指针回调机制在 C 语言中是通过函数指针来实现的,通过将回调函数的地址传给被调函数从而实现回调(注意分清回调函数和被调函数的概念,以便于在下文论述中理解)。因此,要实现回调,必须首先定义函数指针,请看下面的例子:void Func (char *s); // 函数原型void (*pFunc) (char *); // 函数指针可以看出,函数的定义和函数指针的定义非常类似。一般情况下,为了简化函数指针类型的变量定义,提高程序的可读性,我们需要把函数指针类型自定义一下。typedef void(*pcb) (char *);回调函数也可以像普通函数一样被程序调用,但是只有它被当作参数传递 阅读全文
posted @ 2012-06-19 19:48 很多不懂呀。。 阅读(3119) 评论(0) 推荐(0) 编辑
摘要: 一. 回顾指针概念: 今天我们又要学习一个叫做指向另一指针地址的指针。让我们先回顾一下指针的概念吧! 当我们程序如下申明变量: short int i; char a; short int * pi; 程序会在内存某地址空间上为各变量开辟空间,如下图所示。 内存地址→6 7 8 9 10 11 12 13 14 15 ------------------------------------------------------------------------------------- … | | | | | | | | | | -------------------------------- 阅读全文
posted @ 2012-06-19 16:00 很多不懂呀。。 阅读(2150) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 18 下一页

导航