编程的本质是数学问题

学源码是最快的学习方法

libcurl使用

#curl-config --libs 得到 -lcurl  #cc libcurl_test.c  -o  libcurl_test -lcurl

2013-10-30 15:46:59

阅读数 763

评论数 0

在A*寻路中使用二叉堆

在A*寻路中使用二叉堆 作者:Patrick Lester(2003年4月11日更新) 译者:Panic 2005年3月28日 译者序:     这一篇文章,是“A* Pathfinding for Beginners.”,也就是我翻译的另一篇文章《A*寻路初探 GameDev.net 》的补充...

2013-10-29 22:23:07

阅读数 1295

评论数 0

A*寻路初探

原文:Patrick Lester 翻译:Panic 原文出处:A* Pathfinding for Beginners -------------------------------------------------------------------------------- ...

2013-10-29 22:10:48

阅读数 681

评论数 0

Linux内核编译

Linux内核编译 1.下载内核 https://www.kernel.org/ 最新的版本是3.11.6 # wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.11.6.tar.xz 下载好源文件以后放置在哪里都可以,我放置在u...

2013-10-26 17:41:36

阅读数 1229

评论数 0

Virtualbox安装使用注意

翻转整数位 刚看到的一个问题,翻转一个整数位,最直接的想法可能是这样 上面的方法虽然直观,但却不是高效的,于是 初看有些头晕,其实也很好理解: 0x55555555:每个16进制对应4位2进制,5对应0101,所以0101,0101,0101,0101,0101,0101,0101,0101...

2013-10-21 18:53:41

阅读数 1227

评论数 0

nginx源码分析--内存对齐处理

一级指针做形参:首先一定要明白形参和你传递参数的那个实参是两个不同的变量,即使同名也还依然不同。指针传递的是一个变量或者一个值的地址,但是它本身还是采用值传递的方式。即你不能使它指向另外一块地址,但是你可以改变它指向的空间里存的值。 二级指针做形参:二级指针也是传值,但是他指向的地址是个一维指针,...

2013-10-21 16:56:12

阅读数 2194

评论数 0

指针的本质2-void和void*及其应用在nginx中的应用

char **p,a[6][8]; 问p=a是否会导致程序在以后出现问题?   直接用程序说明: 编译,然后就会发现通不过,报错:错误 1 error C2440: “=”: 无法从“char [6][8]”转换为“char **”  于是乎,我看了下《C专家编程》里10.5节—使用指针向函数传递...

2013-10-21 16:53:20

阅读数 1530

评论数 0

strcpy,memcpy和memmove区别

strcpy和memcpy都是标准C库函数,它们有下面的特点。 strcpy提供了字符串的复制。即strcpy只用于字符串复制,并且它不仅复制字符串内容之外,还会复制字符串的结束符。 已知strcpy函数的原型是:char* strcpy(char* dest, const char* src);...

2013-10-21 16:51:35

阅读数 693

评论数 0

Nginx源码分析--数据对齐posix_memalign和memalign函数

对齐 数 据的对齐(alignment)是指数据的地址和由硬件条件决定的内存块大小之间的关系。一个变量的地址是它大小的倍数的时候,这就叫做自然对齐 (naturally aligned)。例如,对于一个32bit的变量,如果它的地址是4的倍数,--  就是说,如果地址的低两位是0,那么这就是自然...

2013-10-20 22:49:13

阅读数 4516

评论数 0

posix_memalign

翻译的 第八章 二 ;《Linux System Programming》中文版 对齐 数据的对齐(alignment)是指数据的地址和由硬件条件决定的内存块大小之间的关系。一个变量的地址是它大小的倍数的时候,这就叫做自然对齐(naturally aligned)。例如,对于一个32bit的变...

2013-10-20 22:48:21

阅读数 3602

评论数 0

Advanced Memory Allocation 内存分配进阶

May 01, 2003  By Gianluca Insolvibile  in Embedded  Software Call some useful fuctions of the GNU C library to save precious memory and t...

2013-10-20 22:44:43

阅读数 1225

评论数 0

C语言清空输入缓冲区的N种方法对比

C语言中有几个基本输入函数: //获取字符系列 int fgetc(FILE *stream); int getc(FILE *stream); int getchar(void); //获取行系列 char *fgets(char * restrict s, int n, FILE * res...

2013-10-18 10:59:10

阅读数 943

评论数 0

使用多线程还是用IO复用select/epoll? epoll 或者 kqueue 的原理是什么?

原作者:蓝形参 原文:http://www.zhihu.com/question/20114168/answer/14024115 使用多线程还是用IO复用select/epoll? 多线程模型适用于处理短连接,且连接的打开关闭非常频繁的情形,但不适合处理长连接。多线程模型默认情况下,(...

2013-10-18 10:46:27

阅读数 1821

评论数 0

write的奥秘

在Linux下我们在使用设备的时候,都会用到write这个函数,通过这个函数我们可以象使 用文件那样向设备传送数据。可是为什么用户使用write函数就可以把数据写到设备里面 去,这个过程到底是怎么实现的呢? 这个奥秘就在于设备驱动程序的write实现中,这里我结合一些源代码来解释如何使得一 ...

2013-10-17 21:26:43

阅读数 1468

评论数 0

从Nginx绑定80端口学套接字编程

-E 只激活预处理,这个不生成文件,你需要把它重定向到一个输出文件里面. 例子用法: gcc -E hello.c > pianoapan.txt gcc -E hello.c | more 慢慢看吧,一个hello word 也要与处理成800行的代码 ...

2013-10-11 09:35:44

阅读数 1339

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭