3

少し長い C コードがあり、1 回だけ呼び出される関数が 1 つあります。char arrayこれには、 、などの変数が含まれますint。コードは次のようなものです。

void onetimefcn(){
    char example_array1[20]="hello...";
    //...
    char example_array10[14]="hej...";
    int x=3,y=432,z=321,d=4439;
    //some arithmatic operation
    //some char array operation: strcpy, strcmp
    // some for loops and if else conditions
}

そのコードを組み込み Linux デバイスで実行します。mallocその関数のすべての変数を使用してからそれらを使用する必要があるのだろうfreeか? リソースを効率的に使用するのに役立ちますか、それとも深刻な問題が発生する可能性がありますか (その場合、何が起こる可能性がありますか)?

4

1 に答える 1

9

を使用mallocすると、暗黙的なスタック割り当てよりも効率が低下します。スタックは非常に効率的な割り当てメカニズムです。つまり、割り当てと割り当て解除の両方がスタック ポインターの単純な更新に要約され、断片化が残ることはありません。

于 2013-06-27T13:37:18.400 に答える