首页 > 代码库 > c及keil调试等

c及keil调试等

 

  data,

  keil调试(对debug用处极大),

关于c语言类型转换

 

C的一些细节:

()&&()先计算前面若为0,后面不执行

 

a--先用后减   --a先减再用

 

char  *p=“abc”将指针指向字符串首地址

 

int *p=(int *)0x123456789

 

数组初始化,所附数值个数小于数组长度时自动补0

 

函数参数为数组时   形参可以是数组或指针

 

static int fun ()静态(内部)函数,只供本文件其他函数调用   修饰变量则只能被本文件引用

 

extern int fun()可被其他文件函数引用

 

x=p->name 去除地址p开始的结构体中的name的值给x

 

运算符从左至右  如a>b>n   若a=3,b=2,c=1 则前式等于0

 

int(*p)【4】指向一维数组的指针   int*p【4】  数组指针

int(*fun)(int a,int b)函数指针    int*a(int x,int y)返回值为指针的函数  

 

 

 

 

INI

 

(文件扩展名)

 

 

主要存放用户所做的选择以及系统的各种参数。用户可以通过修改INI文件,来改变应用程序和系统的很多配置

 

 

嵌入式c规范

标准:

1,代码稳定,没有隐患。

2,执行效率高。

3,可读性高。

4,便于移植。

 

技巧:

1、尽量少用库函数,便于不同的mcu和编译器间的移植

2、选择合适的算法和数据结构

用链表

3、使用尽量小的数据类型

执行速度降低。

4、使用自加、自减指令

5、减少运算的强度

(1)、求余运算。某数关于2的n次求余,可用位运算,如a%8可换为a&7

乘以或除以2n,都可以用移位的方法代替

、循环

对于一些不需要循环变量参加运算的任务可以把它们放到循环外面,这里的任务包括表达式、函数的调用、指针运算、数组访问等。

用自减延时函数。

7、查表

 

在程序中一般不进行非常复杂的运算,如浮点数的乘除及开方等,以及一些复杂的数学模型的插补运算,对这些即消耗时间又消费资源的运算,应尽量使用查表的方式,并且将数据表置于程序存储区。如果直接生成所需的表比较困难,也尽量在启了,减少了程序执行过程中重复计算的工作量。

其他点击打开链接

 

c及keil调试等