因爲我的編譯器爲這兩段代碼提供了不同的統計數據,所以我想知道是什麼使它們與衆不同?這兩個表達之間有區別嗎?
第一招:
typedef const struct process_data
{
uint8_t *name;
void (*p_func)(void);
} process_data_t;
process_data_t processes = {15,16};
,第二個是:
typedef struct process_data
{
uint8_t *name;
void (*p_func)(void);
} process_data_t;
const process_data_t processes = {15,16};
注意const
預選賽已經從typedefing到結構的定義移動。對我而言,這兩個摘錄之間沒有區別,但編譯器/鏈接器統計信息表明,使用第二段代碼時會消耗更少的閃存(該平臺是資源受限的微控制器)。
看看'map'文件的差異。並回報:) –
請提供一個更完整的例子,足以顯示問題。 –