摘要: #include <stdio.h>#include <cstdlib>int eight_array[8] = {0};int count = 0;void printf_image(){ printf("\n 第 %d 种方案 \n",++count); for(int i = 0; i < 8; ++i) { int j; for(j = 0; j < eight_array[i]; ++j) { printf("%d ", 0); } printf("%d ", 1); for(in... 阅读全文
posted @ 2012-04-26 13:32 ITMelody 阅读(337) 评论(0) 推荐(0)
摘要: 1.堆栈都是一种数据项按序排列的数据结构,只能在一端(称为栈顶(top))对数据项进行插入和删除。 要点: 堆:顺序随意 栈:后进先出(Last-In/First-Out)编辑本段堆和栈的区别 一、预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。 3、全局区(静态区)(sta... 阅读全文
posted @ 2012-04-24 22:07 ITMelody 阅读(703) 评论(0) 推荐(0)
摘要: volatile提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量由别的程序更新了的话,将出现不一致的现象。下面举例说明。在DSP开发中,经常需要等待某个事件的触发,所以经常会写出这样的程序:short flag;void test(){ do1(); while(flag==0); do2();} 这段程序等待内存变量flag的值变为1(怀疑此处是0,有点疑问,)之后才运行do2()。变量flag的值由别的程序... 阅读全文
posted @ 2012-04-18 21:28 ITMelody 阅读(1537) 评论(0) 推荐(0)
摘要: 想成为嵌入式程序员应知道的0x10个基本问题 C语言测试是招聘嵌入式系统程序员过程中必须而且有效的方法。这些年,我既参加也组织了许多这种测试,在这过程中我意识到这些测试能为面试者和被面试者提供许多有用信息,此外,撇开面试的压力不谈,这种测试也是相当有趣的。 从被面试者的角度来讲,你能了解许多关于出题者或监考者的情况。这个测试只是出题者为显示其对ANSI标准细节的知识而不是技术技巧而设计吗?这是个愚蠢的问题吗?如要你答出某个字符的ASCII值。这些问题着重考察你的系统调用和内存分配策略方面的能力吗?这标志着出题者也许花时间在微机上而不是在嵌入式系统上。如果上述任何问题的答案是"是&qu 阅读全文
posted @ 2012-04-17 13:10 ITMelody 阅读(486) 评论(0) 推荐(0)
摘要: 引用: 这主要在多任务环境中使用,一个可重入的函数简单来说,就是:可以被中断的函数。就是说,你可以在这个函数执行的任何时候中断他的运行,在OS的调度下去执行另外一段代码而不会出现什么错误。而不可重入的函数由于使用了一些系统资源,比如全局变量区,中断向量表等等,所以他如果被中断的话,可能出现问题,所以这类函数是不能运行在多任务环境下的。把一个不可重入函数变成可重入的唯一方法是用可重入规则来重写他。第一,不要使用全局变量。因为别的代码很可能覆盖这些变量值。第二,在和硬件发生交互的时候,切记执行类似disinterrupt()之类的操作,就是关闭硬件中断。完成交互记得打开中断,在有些系列上,这叫做. 阅读全文
posted @ 2012-04-17 09:33 ITMelody 阅读(630) 评论(0) 推荐(0)
摘要: 制作根文件系统一、创建根文件系统目录mkdir rootfscd rootfsmkdir bin dev etc lib proc sbin sys usr mnt tmp varmkdir usr/sbin usr/bin usr/lib usr/modules二、创建文件设备cd devmknod –m 666 console c 5 1mknod –m 666 null c 1 3三、安装/etctar etc.tar.gz –C /XXX/rootfs四、编译内核模块进入Linux内核目录Make modules ARCH=arm CROSS_COMPILE=arm-linux-五、安 阅读全文
posted @ 2012-04-14 12:59 ITMelody 阅读(294) 评论(0) 推荐(0)
摘要: 嵌入式开发网──新闻http://www.embed.com.cn/news/newsmain.asp国内有关嵌入式开发的论坛嵌入者之家论坛http://www.embeder.com/bbs/index.asp电子产品世界的论坛[2004年09月30日]http://bbs.edw.com.cn/index.asp恒颐高科论坛[2004年09月30日]http://www.hyesco.com/forum/index.asp国内站点华恒公司的主页,里面有很多的相关资料,有待大家去发现http://www.hhcn.com/chinese/embedlinux-res.htmlSkyEye嵌入 阅读全文
posted @ 2012-03-26 08:50 ITMelody 阅读(288) 评论(0) 推荐(0)
摘要: (1)指针数组是一个数组,里面包含若干指针,指针数组名是指向指针的地址,可赋值给指向指针的指针。 int* a[]={"hello" ,"world","!"}; int **p=a;(2)数组指针是一个指针,指向整个数组。 如 int v[2][3]={{1,2,3},{4,5,6}} ; int b[3]={7,8,9}; int (*p1)[3]=v; 可分解为 int (*p1)[3]; p1 = v; p1指向v[0]的地址,即p1 = &v[0], **p为v[0][0]的值。(3)数组名的两层含义:既是数组符号名 阅读全文
posted @ 2012-03-10 10:02 ITMelody 阅读(474) 评论(0) 推荐(0)
摘要: 嵌入式资源网站一 、MailList1.MailList大全网址:http://news.gmane.org/描述:可以查到绝大部分开源项目的Maillist记录,如bluez、uboot等。碰到问题可以在里面搜索一下,相当方便。二、技术论坛1.ChinaUnix技术社区网址:http://bbs.chinaunix.net/index.php描述:国内比较知名的Linux/Unix技术社区,高手云集。2.中国Linux论坛网址:http://www.linuxforum.net/index.php描述:另一个国内比较知名的Linux/Unix技术社区。三、文档及资源下载1.SourceFor 阅读全文
posted @ 2012-03-03 14:50 ITMelody 阅读(456) 评论(0) 推荐(0)
摘要: 题目:企业发放的奖金根据利润提成。 利润低于或等于10万元时,奖金可提10%; 利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%; 20万到40万之间时,高于20万元的部分,可提成5%; 40万到60万之间时高于40万元的部分,可提成3%; 60万到100万之间时,高于60万元的部分,可提成1.5%; 高100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成整型或长整型。#include "stdio.h"int main() { i 阅读全文
posted @ 2012-03-02 20:17 ITMelody 阅读(715) 评论(0) 推荐(0)