1. 程式人生 > >c及keil調試等

c及keil調試等

配置 blog ref -s static 如果 表達 span 打開

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調試等