工作知識點 2020w48

2021-10-10 22:57:11 字數 984 閱讀 3255

本週也算乙個小小里程碑,第一次在公司check in(提交)**。平時遇到乙個小問題就隨手一寫,倒不如總結起來,對別人可能用處不大,但對自己來說,可以用於總結回顧。

extern 「c」

我的工作是純c的,在公司**中遇到如下**:

#ifdef __cplusplus

extern

"c"{

#endif

assert(expression)

**中很多assert()函式用於列印錯誤資訊,我在跑單元測試時就遇到了乙個assert()導致程式崩潰,執行介面(就是普通的黑框框)就呼叫abort()函式,終止執行了。

//assert(expression)函式,大致是如下原理

if(expression ==0)

向錯誤流stderr列印一條錯誤資訊

呼叫abort()函式終止程式執行

fsm:finite state machine

將函式指標做成二維陣列,即函式名字組成二維陣列,進而通過不同狀態可以呼叫相應的函式。

fsm:finite state machine

遇到的情況是兩個不同的資料夾,如dir1,dir2。然後dir1中定義檔案a.c,dir2中定義檔案b.c和b.h,然後b.h中函式宣告使用extern。其實根本的問題是如何兩個不同的資料夾進行一塊編譯,如main()函式怎末呼叫另乙個資料夾中的函式。

//假設資料夾1名為crossfile,裡面有main.c

//資料夾2名為crosshead,裡面有head.c和head.h

//則可以在crossfile中進行如下編譯:

gcc main.c .

.\crosshead\head.c -o main

//即將相關檔案的絕對路徑用來進行編譯

此外,還有source insight的使用和perforce的使用,請參考工具篇章。

工作 小知識點總結

1 擴充套件運算子.陣列和序列的轉換 常用於替換,比如 const obj const newobj 2.const this.props 等價於 const dispatch this.props.dispatch 3.關於map函式 不會對空陣列進行操作且不會改變原來的陣列 4.活用json.p...

2023年高階掌握知識點

android技術難點 1 retrofit的實現與原理 精簡 2 okhttp的實現與原理 精簡 3 eventbus實現與原理 精簡 4 fresco的實現與原理 精簡 5 glide載入原理,快取方案 精簡 android框架層原始碼掌握 1 android包管理機制,核心packageman...

2020前端知識點彙總 五 vue

1 vue的元件通訊?2 vuex?3 vue的雙向繫結?4 解釋computed watch methods?5 v show和v if指令的共同點和不同點?6 巢狀路由怎麼定義?8 vuex是什麼?怎麼使用?哪種功能場景使用它?9 axios是什麼?怎麼使用?描述使用它實現登入功能的流程?10 ...