摘要: 图片由像素组成,例如一张90x40的bmp(位图),就由90x40个像素组成。每个像素又由如干位(bit)组成,例如8bit、16bit、24bit,这个就是我们说的色深。计算机里的颜色一般用用得最普遍的RGB(红、绿、蓝)三色组成。现在用一个数值分别表示这三种颜色的亮度,例如范围为255,值越小就越黑,值越大就越亮,这样由3个0~255的数值混合可以组合成很多种颜色(这个叫做像素值,pixel)。这里就可以看到刚刚说范围是0~255,这样一种颜色就需要8bit(2^8),3种颜色就是24bit(3x8),这就是我们平常说的24色深。这样的颜色组合能够达到2^24=16777216种,已经达到 阅读全文
posted @ 2013-08-10 14:27 姜戏◥⊙▲⊙◤郎 阅读(592) 评论(0) 推荐(0) 编辑
摘要: (一)中已经介绍了使用strtok函数的一些注意事项,本篇将介绍strtok的一个应用并引出strtok_r函数。1.一个应用实例网络上一个比较经典的例子是将字符串切分,存入结构体中。如,现有结构体typedef struct person{ char name[25]; char sex[10]; char age[4];}Person;需从字符串 char buffer[INFO_MAX_SZ]="Fred male 25,John male 62,Anna female 16"; 中提取出人名、性别以及年龄。一种可行的思路是设置两层循环。外循环,先以 ',’ 阅读全文
posted @ 2012-02-10 10:34 姜戏◥⊙▲⊙◤郎 阅读(3565) 评论(0) 推荐(3) 编辑
摘要: strtok函数的使用是一个老生常谈的问题了。该函数的作用很大,争议也很大。以下的表述可能与一些资料有区别或者说与你原来的认识有差异,因此,我尽量以实验为证。交代一下实验环境是必要的,winxp+vc6.0,一个极端平民化的实验环境。本文中使用的源代码大部分来自于网络,我稍加修改作为例证。当然,本人水平有限,有不妥之处在所难免,各位见谅的同时不妨多做实验,以实验为证。strtok的函数原型为char *strtok(char *s, char *delim),功能为“Parse S into tokens separated by characters in DELIM.If S is NUL 阅读全文
posted @ 2012-02-10 10:11 姜戏◥⊙▲⊙◤郎 阅读(602) 评论(0) 推荐(0) 编辑
摘要: pipe.h 1 #ifndef _PIPE_H 2 #define _PIPE_H 3 4 int pipe_init(void); //初始化管道 5 int pipe_write_to_parent(void *buf, int len); //向父进程写数据 6 int pipe_write_to_child(void *buf, int len); //向子进程写数据 7 int pipe_read_from_parent(void *buf, int len); //读父进程数据 8 int pipe_read_from_chi... 阅读全文
posted @ 2011-12-12 19:57 姜戏◥⊙▲⊙◤郎 阅读(370) 评论(0) 推荐(1) 编辑
摘要: Makefile文件,创建共享库和静态库: 1 CROSSCOMPILE = arm-linux- 2 3 CC=${CROSSCOMPILE}gcc 4 LD=${CROSSCOMPILE}ld 5 AR=${CROSSCOMPILE}ar 6 7 CFLAGS= -O2 -c -Wall -fPIC 8 9 OBJCAT= *.o10 11 all: libmodem.so.1 libmodem.a12 13 libmodem.so.1:14 $(CC) ${CFLAGS} serial.c atchannel.c ppp.c pipe.c interface.c h... 阅读全文
posted @ 2011-09-02 21:34 姜戏◥⊙▲⊙◤郎 阅读(241) 评论(0) 推荐(0) 编辑
摘要: Linux 包含了一个叫 gdb 的 GNU 调试程序. gdb 是一个用来调试 C 和 C++ 程序的强力调试器. 它使你能在程序运行时观察程序的内部结构和内存的使用情况. 以下是 gdb 所提供的一些功能:它使你能监视你程序中变量的值.它使你能设置断点以使程序在指定的代码行上停止执行.它使你能一行行的执行你的代码.以下演示一个example.c程序的调试过程:example.c文件内容如下, 1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<string.h> 4 5 void my_print1(c 阅读全文
posted @ 2011-09-02 21:08 姜戏◥⊙▲⊙◤郎 阅读(328) 评论(0) 推荐(0) 编辑
摘要: 编辑器加载中... 1 #include<stdlib.h> 2 #include<stdio.h> 3 4 #define TRUE 1 5 #define FALSE 0 6 7 void bubble_sort(int *num, int numcnt) 8 { 9 int i=0, j=0, exchgnum=0, changeflag=FALSE;10 for(i=numcnt-1, changeflag=TRUE; i>=1 && changeflag; i--)11 {12 changeflag = FALSE;13 for(j=0; 阅读全文
posted @ 2011-08-07 18:55 姜戏◥⊙▲⊙◤郎 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 一. 回顾指针概念:当我们程序如下申明变量:short int i;char a;short int * pi;程序会在内存某地址空间上为各变量开辟空间,如下图所示。内存地址→6 78 9 10 111213 1415-------------------------------------------------------------------------------------…| ||||| ||||-------------------------------------------------------------------------------------|short i 阅读全文
posted @ 2011-08-02 21:38 姜戏◥⊙▲⊙◤郎 阅读(177) 评论(0) 推荐(0) 编辑
摘要: gdgn_526345发表于 2009-11-25 14:54linux 创建进程函数fork()返回值的疑问linux创建进程函数fork()正确调用一次的时候有两个返回值:子进程返回:0父进程返回:>0的整数(返回子进程ID号)而错误的时候返回-1而在介绍fork()函数时的应用例子一般都为以下结构:如下例:#include <sys/types.h>#include <unistd.h>#include <stdio.h>#include <stdlib.h>int main(void){ pid_t result; /*调用fork 阅读全文
posted @ 2011-06-22 10:19 姜戏◥⊙▲⊙◤郎 阅读(1450) 评论(1) 推荐(0) 编辑
摘要: 1.svn import [PATH] URL--将未版本化文件导入版本库的最快方法,会根据需要创建中介目录eg:svn import -m 'note' mytree file:///var/svn/newrepos/some/project/mytreesvn客户端是可以配置忽略哪些些文件,比如说我们不想提交*.o之类的文件。那么可以通过设置svn:ignore或者global-ignore来进行过滤相关的文件,有时基于某种需要,或者是导入一个别人之前维护的工程,里面有些*.so,*.a文件必须保留,那么如果在第一次import的时候全部导入呢?单个的可以使用svn add 阅读全文
posted @ 2011-04-07 10:00 姜戏◥⊙▲⊙◤郎 阅读(972) 评论(0) 推荐(1) 编辑