2014年1月17日

fork创建多个子进程方法

摘要: 第一种方法:验证通过特点:同时创建多个子进程,每个子进程可以执行不同的任务,程序可读性较好,便于分析,易扩展为多个子进程int main(void){ printf("before fork(), pid = %d\n", getpid()); pid_t p1 = fork(); if( p1 == 0 ){ printf("in child 1, pid = %d\n", getpid()); return 0; } pid_t p2 = fork(); if( p2 == 0 ){ printf("in child 2, pid = %d 阅读全文

posted @ 2014-01-17 10:17 yuanqing 阅读(1141) 评论(0) 推荐(0)

2014年1月15日

realloc以后,原有内存被如何处理? 回收? 释放? 不管?

摘要: 如果已分配的存储块后面有空闲的空间,则realloc不会移动数据而只是增加原来存储块的长度,并返回传给它的原存储块的指针。但当前存储块后面没有足够的空闲空间时,realloc会重新分配一存储块,并移动当前存储块的内容到新块,然后返回新块的指针。realloc() changes the size of the memory block pointed to by ptr tosize bytes. The contents will be unchanged to the minimum of the oldand new sizes; newly allocated memory will 阅读全文

posted @ 2014-01-15 14:54 yuanqing 阅读(1514) 评论(0) 推荐(0)

结构体动态数组的定义及操作

摘要: 这两天在写一个linux下的C项目,需要控制一张临时表,这张表由动态结构体数组构成。需要实现动态数组的创建及其操作结构体如下所示:/*创建一个基站的动态数组的结构体*/typedef struct base_array{ int size ; int count ; struct base *data;}base_array;/*创建一个基站的结构体*/typedef struct base{ char id[6] ; int led; int way; struct locomotive *next ;}base;/*创建一个基站的动态数组*/void create_base_table(b 阅读全文

posted @ 2014-01-15 14:27 yuanqing 阅读(2101) 评论(0) 推荐(0)

2014年1月11日

C 语言中动态数组的实现

摘要: C语言中动态数组的实现近来编写几个程序,很多都用到了数组。但是对于数组的大小却是没有固定的,也就是说可以更改数组大小,其大小是可以变化的。并不像初学时的那样,告诉你一个范围,你就必须取最大值以满足要求。那样可能就会浪费很多不必要的内存单元!那么到底应该怎样定义一个动态数组列? 在数组一章中,曾介绍过数组的长度是预先定义好的,在整个程序中固定不变。C语言中不允许动态数组类型。例如:intn;scanf("%d",&n);inta[n];用变量表示长度,想对数组的大小作动态说明,这是错误的。但是在实际的编程中,往往会发生这种情况,即所需的内存空间取决于实际输入的数据,而 阅读全文

posted @ 2014-01-11 20:46 yuanqing 阅读(468) 评论(0) 推荐(0)

Ubuntu下安装Code::Blocks

摘要: Code::Blocks是一款功能强悍的C、C++ IDE,工具小巧灵活、跨平台、支持SVN、代码高亮、格式化、国际化(软件界面语言可定制为中文)、强大的调试环境。本文主要介绍CodeBlock的安装与配置(Ubuntu环境下)整个过程。一、安装过程:1》安装基本编译环境sudo apt-get install build-essentialsudo apt-get install gdb2》安装codeblocksudo apt-get install codeblockssudo apt-get install codeblocks-dbgsudo apt-get install wxfo 阅读全文

posted @ 2014-01-11 12:35 yuanqing 阅读(493) 评论(0) 推荐(0)

Codeblocks & 开发板调试简单教程

摘要: 远程调试十分也有用,而且很方便!Codeblocks作为linux下的C/C++ 集成开发环境(IDE)也十分好用。1.PC机的Codeblocks设置:当然,肯定是要装有Codeblocks才行啊,怎么装可以google一下。# codeblocks 打开Codeblocks启动起来后先新建一个工程:File--New--Project到如下界面,会让你选择新建工程的类型,这里选择console application。接着,选择语言类型,这里选择C。接着,next>,给工程取名,和设置工程路径。如下图:再Next>设置使用的编译器,由于后面还得修改所以先默吧,不管,后面在改!再 阅读全文

posted @ 2014-01-11 12:31 yuanqing 阅读(1096) 评论(0) 推荐(0)

导航