十一月工作總結

2021-05-23 19:23:32 字數 3459 閱讀 7279

十一月的工作總結

1.標頭檔案包含問題

1)交叉包含問題,在

*.h中包含了標頭檔案。例如:

a.h中

include

了b.h

,而在b.h

中include

了a.h

,則出錯,相當於死鎖。至於在

a.c中

include

了b.h

,b.c

中include

了a.h

,則無此無問題。

2)在包含的標頭檔案中,有多處巨集定義了同乙個巨集名稱,但是巨集定義不一致,導致在某一處的

*.c中使用該巨集出現問題。例如:

在a.h

中,#define _zzp 1

在b.h

中,#define _zzp 0

在sample.c

中,#include 「a.h」

#include 「b.h」

這裡,sample.c

不知應該使用哪個巨集。

解決方法:

1.2.1

)只include

其中乙個

*.h檔案。

1.2.2)

若不得不

include

兩個檔案,則使用比較猥瑣的方法。在

sample.c

中重新定義該巨集,注意該重新定義的巨集應該寫在上面兩個

include

語句之後。

3)對於乙個比較大的

project

,因為各個

module

的*.h

檔案是分散在各個目錄下的,按照常規做法,當某個

module

需要include

其他module

時,include

需要指定這個

*.h檔案的路徑,相當麻煩。現在有兩種做法:

1.3.1

)這種解決方案中,在每個

module

下都有個

lis檔案,我們可以在每個

module

的lis

中將本module

將要被外部引用的標頭檔案新增進去。這樣當

simulator

編譯時會自動將該

lis列舉的

*.h檔案自動

copy

到某個inc

目錄下,該目錄即作為所有

module

搜尋*.h

的地方。而在引用這些

*.h的檔案中,

include

語句只需添檔名。

1.3.2

)對於某個要引用外部

module

的module

,在vs2005

中,project property->

配置屬性

->c/c++->

附加包含目錄中將被引用的

module

加入。這樣處理後會體現在

*.vcproj

檔案。同樣,在引用這些

*.h的檔案中,

include

語句只需添檔名。2.c

語言作用域相關

c語言中,變數宣告應該位於區域性作用域開頭,否則會有

sytex errror、「;

」、endeclare identifer

的error

。若必須要將變數在函式開頭以外地方宣告,那麼另外用

{}建立乙個作用域,且變數宣告位於區域性作用域開頭。

3.debug

相關3.1

)列印log

資訊。通常可在函式入口處列印傳入引數,函式結束處列印返回值等。對於一些開關語句,或是

if/else

語句,若有必要,也可列印。列印時加上函式名等一些特有的標記可以在

debug

時快速定位。

3.2)

debug

的一般步驟。首先,先理清

code

的邏輯,目測下確認與邏輯無關。接著,用工具

debug

。注意不能太過依賴工具,否則

debug

效率會降低。

3.3)一步乙個腳印原則。每編完乙個模組即進行驗證,不要等編了一堆**才驗證,到時

debug

定位是個問題。當然也不能過於頻繁驗證,這就是個程式設計藝術問題了。

3.4)對於

simulator

上編譯斷點不能命中的問題,可用從以下方面排查:

1)**是否已經編譯過,但是仍未將動態庫

copy

到simulator

那邊。2

)simulator

的程序是否已經繫結了程序。

3)程序繫結方式是否為

native。4.

程式設計習慣相關

函式傳入引數時,若型別不一致,要用強制型別轉換。否則,

simulator

雖然編通過,

arm不一定編通過。放到非手機開發上,保證傳入函式的變數型別與函式形參一致,是個好習慣。

5.語法相關

5.1)

巨集定義的的使用。

#define _zzp 1

//… …

#ifdef _zzp

//… ….

#else

//… …

#endif

6.編譯相關

對於靜態

module

,在真機編譯時,需要編譯

amss

。檢視靜態模組是否編譯通過,可以檢視

/build/ms/bin/#project version#

。靜態module

真機編譯完後,燒入真機需要做:1)

software download->cefs

,燒系統。2)

software download->multi image

,燒資源。

動態module

不需編amss

,僅需用

efs explorer

將修改的

module

的mod

和mid

更新下。若需加入資源,也在此操作。

對於一些

module

,在真機上時靜態

module

,用arm

編譯會有問題。而在

simulator

上則是動態模組,用

simulator

編則無問題。

7.軟體管理相關

7.1)

在中國現在的

it界,對於上層的決定,是否就一定要貫徹執行,甚至對於一些不可能的任務、不符現實的需求。乙個個優秀的軟體工程管理工具,是否只是淪為形式化的東西。

7.2)對於測試人員提供的

bug,其

bug描述不清,再加上沒有手機預期規範(

spec

)等進行手機功能預期,所以就增加了開發人員與測試人員的溝通成本。

十一月總結

我是腐爛了花期的 你是藏起花瓣的牧童 十一月初忙完了新生才藝展,大家都把心思完全放在了學習上。以前每週都在忙一些瑣事,上機的時間遠遠不夠,忙了乙個月才發現,雖然很勤奮地把部落格發完了,也把oj的題目做了。可是腦子裡並沒有留下很深刻的印象,對此我很惆悵,也很苦惱,看著別的同學很輕鬆地完成各種題目,真的...

十一月總結

十一月可謂是比較低沉的乙個月,首先部落格就拖到下週很晚才發完,明明下週的專案都已經出來了,有時候甚至出現了不想全完成的想法,還好我堅持下來了,在這個離第15周專案出現還有兩天的日子裡,做完了14周的專案,感悟很深。我是個比較懶的人,做事也不太喜歡動腦子,很少想著主動去完成什麼事。但自己明明就是知道這...

十一月總結

這個月的學習,之前步伐很穩,進步很快,可是月末的時候突然事情較多,有種力不從心的感覺,不過還好,總的來說沒有遇到什麼問題。也就是在這幾天裡我發現了自己的很多缺點,比如不喜歡看書,有的問題書上有,自己還想了半天,還有的問題書上的演算法很簡單,自己的演算法比較複雜,但是自己寫對了從來不看書。現在看來書本...