
C/C++
文章平均质量分 81
吴遥
吾尝终日而思矣,不如须臾之所学也;吾尝跂而望矣,不如登高之博见也。。。。君子生非异也,善假于物也。
展开
-
typedef的用法
一直都不理解typedef的用法及意义.今天又看>,终于有点明白了.以下是手册里的说明:typedef用于声明定义新的数据类型名,而不是函数与变量声明.数据类型名出现在变量声明中出现变量句的地方,数据类型本身是变量名要指定的类型.例子如下:typedef int *IP; //一个int指针typedef int (*FP)(); //指向返回int类型的函数原创 2008-09-26 16:43:00 · 663 阅读 · 0 评论 -
C语言与面向对象
问题一:C++的private关键字主要作用是封装,那么C语言如何完成同样的需求?答:封装就是不给人看到,依着这个思路,我们来看看优秀的代码是怎么实现的.apache里的内存池这一概念,它的声明在apr_pool.h里,/** The fundamental pool type */typedef struct apr_pool_t apr_pool_t;而它的定义却在apr_原创 2009-06-25 17:19:00 · 833 阅读 · 1 评论 -
单函数实现通配符算法
由于项目原因要实现"通配符匹配",看别人的算法,都是要2到3个函数来实现,一个为最初调用,一个为星号处理。能不能一函数就搞定呢?以下的算法只用一个函数实现同样的功能。写得不当地方,请多多指教。呵呵。 #include #ifndef FALSE#define FALSE 0#endif#ifndef TRUE#define TRUE 1#endif原创 2010-01-16 22:28:00 · 2307 阅读 · 3 评论 -
二级指针与二维数组使用误区
当了好长时间的程序员,以为对指针已经有较好的认识,没想到照样出错。以下是我写错的代码,你能看出什么问题吗?应该怎么写才对呢? #include void func(int count, char **coln, char **colv){ int i; for( i=0; i<count; i++ ){ printf("%s: %s", coln[i]原创 2010-02-21 11:14:00 · 1296 阅读 · 7 评论 -
随机定时器
成千上万的客户程序定时从服务器查询一些数据,并希望分散查询时间,减轻被查询的服务器的压力。一个随机定时器能够实现这个要求。原创 2010-06-29 15:14:00 · 998 阅读 · 0 评论 -
讲讲volatile的作用
讲讲volatile的作用转载 2010-07-06 14:05:00 · 543 阅读 · 0 评论 -
C/C++中的日期和时间 time_t与struct tm转换
C/C++中的日期和时间 time_t与struct tm转换转载 2010-06-04 17:26:00 · 658 阅读 · 0 评论 -
一种自动反射消息类型的 Google Protobuf 网络传输方案
来源:http://www.cnblogs.com/Solstice/archive/2011/04/03/2004458.html一种自动反射消息类型的 Google Protobuf 网络传输方案陈硕 (giantchen_AT_gmail)Blog.转载 2011-08-12 11:25:02 · 1256 阅读 · 0 评论 -
<<熊猫围棋助手>>发布啦
熊猫围棋助手是一个网络围棋辅助工具,同时也是一个开源项目。它的目标是成为一个通用的围棋辅助工具,能够支持各个围棋软件(比如QQ围棋、弈城围棋等等),能够代替用户下棋、对棋局进行形势分析、提高用户的围棋水平。下载到http://code.google.com/p/goplus/downloads/list下载程序或源代码。安装>为绿色版本,解压运行即可。使用方原创 2012-02-18 14:02:54 · 1617 阅读 · 0 评论 -
获取文件大小的方法(转)
#include #include #include #include #define _AFXDLL using namespace std; void main() { // 此文件在工程打开状态下为不可访问转载 2009-06-23 10:20:00 · 785 阅读 · 0 评论 -
限制软件使用时间
对于软件产品的试用版来说,限制软件使用是必不可少的。本文介绍如果限制使用时间。 假设软件A可以免费使用3个月,那么要确定的是开始使用时间,结束时间1。确定开始使用时间。如下代码: #include "windows.h"#include "stdio.h"int main(int argc, char* argv[]){ SYSTEMTIME currentTi原创 2009-05-19 13:57:00 · 13085 阅读 · 3 评论 -
使用rand获取随机数
#include#include#include/* 今天二姑来看二老,她突然又叫我写二三十个号码给她去买福利彩票。 要想出这么多号可真是难为,于是写了这个程序。*/main(){ my_rand2();}//输入一个数字或字母,得到一列随机数并输出my_rand1(){ int flag; printf("please input a integer you like and t原创 2008-10-26 01:33:00 · 778 阅读 · 0 评论 -
Endian的由来
Endian的由来 ============================ NightOwl(zjwu@bigfoot.com) 2002/07/16 ====转载 2008-10-27 21:36:00 · 736 阅读 · 0 评论 -
判断bigendian还是littleendian
#include#includeint isbigendian(){ unsigned short flag = 0x1122; if(*((unsigned char*) &flag) == 0x11) return 1; else return 0;}main(){ if(isbigendian()) printf("big-endian/n");转载 2008-10-26 01:31:00 · 648 阅读 · 0 评论 -
内存管理内幕(转)
级别: 初级Jonathan Bartlett (johnnyb@eskimo.com), 技术总监, New Media Worx2004 年 11 月 29 日本文将对 Linux™ 程序员可以使用的内存管理技术进行概述,虽然关注的重点是 C 语言,但同样也适用于其他语言。文中将为您提供如何管理内存的细节,然后将进一步展示如何手工管理内存,如何使用引用计数或者内存池来半手工地管理内转载 2009-01-01 21:00:00 · 1382 阅读 · 0 评论 -
C++变长参数函数的用法(转)
书上说,当无法列出传递函数的所有实参的类型和数目时,可用省略号指定参数表(...)如:void foo(...); void foo(parm_list,...);void foo(...){ //...}调用:foo(a,b,c);就是不懂,把a,b,c的值传进函数里面后,用什么变量来接收???如果不能接收,(...)岂不是没意义?还有就是不明白int printf(const c转载 2009-01-03 12:31:00 · 1470 阅读 · 0 评论 -
C++ 运算符优先级列表
PrecedenceOperatorDescriptionExampleAssociativity1()[]->.::++--Grouping operatorArray accessMember access from a pointerMember access from an objectScoping operatorPost-increme转载 2009-01-11 22:16:00 · 638 阅读 · 0 评论 -
ASCII 字元表
From: http://home.educities.edu.tw/wanker742126/asm/ap04.htmlASCII 字元表ASCII 碼大致可以分作三部分組成。第一部分由 00H 到 1FH 共 32 個,一般用來通訊或作為控制之用,有些字元可顯示於螢幕,有些則無法顯示在螢幕上,但能看到其效果(例如換行字元、歸位字元)。如下表:第二部分是由 20H 到 7转载 2009-01-13 11:52:00 · 851 阅读 · 0 评论 -
如何在C语言中巧用正则表达式(转)
原文来自于:http://www.chinaunix.net/jh/23/303346.html看到大家讨论这方面的东西,作点贡献聊表各位高手对这个版快的无私奉献 :oops: 如果用户熟悉Linux下的sed、awk、grep或vi,那么对正则表达式这一概念肯定不会陌生。由于它可以极大地简化处理字符串时的复杂度,因此现在已经在许多Linux实用工具中得到了应用。千万不要以为正则表达式转载 2008-12-23 10:13:00 · 1668 阅读 · 0 评论 -
使用宏的变长参数打LOG
单步调试总有无法胜任的时候,通常我们会打log.如:#ifdef _DEBUG #define mylog(str) {/FILE *fp = fopen("c://log.txt","ab");/fprintf(fp, str); /fprintf(fp, "/n"); /fclose(fp);} #else#define mylog(...) 0原创 2009-04-08 10:29:00 · 810 阅读 · 0 评论 -
一个带冲突率检查、超时机制的哈希表
相关特性: - 开链法解决冲突问题 - 哈希函数和比较函数通过接口方式提供 - 支持哈希表查询、插入、删除等操作 - 哈希表是最大容量的7倍,冲突率较低(4%以下) - 超时机制,删除失效元素 - 统计冲突率,方便调试 - 动态分配内存,释放的内存被添加空闲列表,降低malloc函数调用次数用法:首先创建哈希表,htable_t* htable_cr原创 2016-07-17 16:14:25 · 1466 阅读 · 0 评论