自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

iot_hept

博观而约取,厚积而薄发。

  • 博客(21)
  • 收藏
  • 关注

转载 网口扫盲一、二、三

网口扫盲一网口扫盲二网口扫盲三

2015-11-04 19:23:14 2208

原创 函数指针问题,求解答

代码中给函数指针赋值的 语句1、2、3  以及用函数指针调用函数的 语句a、b 运行结果都正确,到底哪个才是正确的呢???#includeint add(int a,int b){ return a+b;}int main(){ int (*p)(int,int); int sum; p = add; //语句1// p = &add; //语句2// p =

2015-08-17 07:31:30 859 5

原创 C语言各种关键字

1、register在函数内定义变量时,默认是 auto 类型,变量存储在内存中,当程序用到该变量时,由控制器发出指令将内存中该变量的值送到运算器,计算结束后再从运算器将数据送到内存。如果一个变量用 register 关键字修饰,编译器则尽可能将该变量存放在CPU的内部寄存器中,这样就不用通过内存寻址来访问变量,可以大大提高访问效率。2、volatilevolatile关键字修饰的变量

2015-08-17 07:29:43 636

原创 位域

#includeunion{ struct{ unsigned char c1:3;//位域操作 unsigned char c2:3; unsigned char c3:2; }s; unsigned char c;}u;int main(){ u.c = 100; printf("%d\n",u.s.c1); printf("%d\n",u.s.c2); pr

2015-08-14 07:30:02 1026 2

原创 高效统计整数中 1 的比特数

输入一个无符号整数,统计该整数中含1的比特数。#includeint numbits(unsigned int n){ int count = 0; while(n>0){ n &= (n-1);//每次操作去掉n中最低位的1 count++; } return count;}int main(){ unsigned int n; scanf("%d",&n)

2015-08-14 07:27:45 923

原创 条件编译

1、ifdef#ifdef XXXXX......#endif如果XXXXX被定义了,则编译上述代码。2、ifndef#ifndef XXXXX......#endif如果XXXXX没有被定义,则编译上述代码。3、if#if XXXXX.....#endif如果XXXXX被定义了,并且值为真,则编译上述代码。4、if define

2015-08-13 07:24:01 863

原创 C语言内存分配

C语言的内存分配主要有5个区域:1、栈区:在执行函数时,函数内的局部变量(不包括static变量)、函数返回值的存储单元在栈区上创建。函数执行结束时这些存储单元自动被释放。栈区内存分配运算内置于处理器的指令集中,效率很高,但分配的内存容量有限。2、堆区:程序在运行的时候用malloc(calloc、realloc等)申请的内存,要由程序员自己负责用free释放内存。3、静态存储区:存放

2015-08-13 07:20:59 761

原创 结构体,联合体,内存分配

#includestruct a{ char x[6]; int y; char z[6];};struct b{ int y; char x[6]; char z[6];};union c{ char x[6]; int y; char z[6];};int main(){ printf("%d,%d,%d\n",sizeof(struct a),sizeof

2015-08-12 07:53:12 1313

原创 字符串复制

要求:编写一个函数,实现类似strcpy的字符串复制函数。原型定义为 char * mystrcpy(char *dest, char *src)。功能是把src所指向的字符串复制到dest所指的数组中,返回dest指针。(提示:src和dest所指向的区域有可能重叠)。简单版本:char * mystrcpy(char *dest, char *src){ char *p = d

2015-08-12 07:47:27 1584 4

原创 指针,指针,指针。。。

1、指针常量与常量指针int a = 10;int * const p1 = &a;const int * p2 = &a;p1是不可改变地址的常量,即指针常量,但可以对它所指向的内容进行修改。p2是指向常量的指针,即常量指针,它所指向的地址内容是不可修改的,但其本身确实可以修改的。2、指针运算#includeint main(){ int

2015-08-11 07:37:09 1987

原创 printf那点事

1、打印内存地址#includeint main(){ int a; printf("%p\n",&a); //%p打印地址,自动加前缀00 printf("0x%x\n",&a); //%x以十六进制打印 return 0;}输出结果:0012FF440x12ff442、printf,sprintf,snprintf原型:in

2015-08-07 09:12:08 744

原创 指针取值(*)与自增(++)运算

++(*p) 先取指针指向的内容,然后给内容加1,加1操作当前生效。等价于++*p(*p)++ 先取指针指向的内容,然后给内容加1,加1操作在该语句执行后生效*(p++) p指针加1,加1操作在该语句执行后生效,然后取当前p指针指向的内容。等价于*p++*(++p) p指针加1,加1操作当前生效,然后取当前p指针指向的内容。等价于*++p对于不同类型的指

2015-03-28 09:27:45 988

原创 《VxWorks学习笔记》——任务属性

VxWorks任务区别于通用系统的两个特点:1)VxWorks任务与内核具有相同的权限,能够执行处理器支持的全部指令。2)所有任务和内核共享同一实地址空间,不同任务的数据没有任何保护机制。1、  任务控制块(WIND_TCB):系统调度器用来管理任务调度的一个数据结构,每个任务都与一个TCB相关联,主要包括任务ID,任务名称,任务优先级和任务上下文等(VxWorks系统中TCB不用包含内存地址

2015-03-26 08:39:42 2245

原创 《VxWorks学习笔记》——实时系统

1、   实时系统1.1、  实时硬件系统:同时响应外部事件数量,硬件反应时间,内存大小,处理器计算能力,总线能力等。1.2、  实时操作系统:可抢占的内核,可抢占的优先级调度,中断优先级,中断可嵌套,系统服务的优先级由请求该服务的任务的优先级确定,优先级翻转保护,前述实时操作系统性能指标具有固定上界。1.3、  实时多任务设计1.3.1、     多任务划分:如何

2015-03-24 09:00:58 1377 1

原创 筛选法求素数

原理:大于 1 的任意一个自然数的倍数(大于1)一定不是素数;从2开始升序遍历,找到一个素数就将它的倍数标记为合数,当一个数是合数时它的倍数已经被标记过,可以直接跳过;#include#define SIZE_N 1000int prime[SIZE_N];int main(){ int i,j,temp; for(i=0;i<SIZE_N;i++) prime[i]=1; pr

2015-03-23 08:32:33 774

原创 按位异或运算^

按位异或(xor):A xor B  若A,B相应位相等时结果为0,相应位不等时结果为1规律:一个数与0异或等于自身:0^0=0 1^0=1一个数与1异或等于取反:0^1=1 1^1=0一个数与自身异或等于0:a^a=0运用:交换两个数a和b,不用中间变量a=a^b;b=b^a;          //b=b^a=b^(a^b)=a^

2015-03-19 08:41:50 1038

原创 单元测试实施步骤

1、编译2、静态分析器检查3、代码评审4、动态测试驱动模块(driver)桩模块(stub)摘自:《软件工程教学视频21讲》(上海交通大学,郭斌老师)。

2015-02-09 09:20:20 3111

原创 什么是黑盒测试

黑盒测试:测试对象看做黑盒,不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明,在特定的条件下,输入相应的数据,检查程序的输出是否符合它的功能说明。一、等价分类法(equivalence partitioning)把输入数据的可能值划分为若干等价类有效等价类和无效等价类每一无效等价类至少需要一个测试用例二、边界值分析法(boundary value analysis)

2015-02-07 12:26:38 1052

原创 什么是白盒测试

白盒测试:对软件的过程性细节做细致的检查,允许测试人员利用程序的内部逻辑结构及有关信息设计或选择测试用例,对程序所有路径进行测试。一、逻辑覆盖法(logic coverage testing)用程序流程图来设计测试用例。5种覆盖标准(按覆盖强度递增):1、语句覆盖每条语句至少执行一次2、判定覆盖每一判定的每个分支至少执行一次3、条件覆盖每一判定中的每个条件分别按

2015-02-05 13:57:51 1484

原创 软件测试的阶段

一、软件测试的不同阶段:单元(模块)测试 (unit testing)综合(集成)测试 (integration testing)确认测试 (validation testing)系统测试 (system testing)二、软件测试不同阶段与开发过程的关系:摘自:《软件工程教学视频21讲》(上海交通大学,郭斌老师)。

2015-02-05 13:43:48 1142

原创 hello.

hello every reader,hello every writer,hello every coder,hello every hard people,hello dear iot_hept,hello world.

2015-01-30 12:50:13 468

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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