為什么使用Alloca()不被視為良好做法?alloca()在堆棧上分配內(nèi)存,而不是在堆上分配內(nèi)存,如malloc()..所以,當我從例程返回時,內(nèi)存就被釋放了。因此,實際上這解決了我釋放動態(tài)分配內(nèi)存的問題。釋放通過malloc()是一個主要的頭痛,如果某種程度上錯過會導致各種記憶問題。為什么使用alloca()盡管有上述特點,但還是氣餒?
3 回答

料青山看我應(yīng)如是
TA貢獻1772條經(jīng)驗 獲得超8個贊
alloca
void DoSomething() { wchar_t* pStr = alloca(100); //......}
void Process() { for (i = 0; i < 1000000; i++) { DoSomething(); }}
DoSomething
Process()
alloca
alloca

ibeautiful
TA貢獻1993條經(jīng)驗 獲得超6個贊
char arr[size];
char *arr=alloca(size);
- 3 回答
- 0 關(guān)注
- 1606 瀏覽
添加回答
舉報
0/150
提交
取消