ucosII移植:可重入代碼

ucosII移植:可重入代碼

      先來點網上的書面化的解釋:µC/OS是多任務內核,函數可能會被多個任務調用,代碼的重入性是保證完成多任務的基礎。可重入代碼指的是可被多個體任務同時調用,而不會破壞數據的一段代碼,或者說代碼具有在執行過程中打斷後再次被調用的能力。

再來點實貨:

Swap1函數代碼:

Int temp;

void  swap1(int *x,int  *y)

{

   temp=*x;

   *x=*y;

    *y=temp;

}     這是不可重入代碼;


Swap2函數代碼:

void  swap2(int *x,int  *y)

{

  int  temp;

   temp=*x;

   *x=*y;

    *y=temp;

}   這是可重入代碼


心理大概有點思路了:可重入代碼一般要求:

1.函數中不能有全局變量,靜態變量;

2.不能返回全局,靜態變量地址; 

學習遇到的一點問題,找了一點資料和理解跟有需要的朋友分享下~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章