stack-memory

    0熱度

    1回答

    我目前一直在使用可能會創建重量較大的對象的庫。具體來說,我正在創建與wave文件關聯的對象。 現在創建波對象的實例(只是爲例)時,有沒有確定它在內存中被分配一個好辦法嗎? 例如,如果我實例在堆棧一個std ::矢量,我知道一些存儲器被分配在堆(即頭信息)和實際容器數據在堆中創建。所以大部分情況下,我不必擔心堆棧內存溢出。儘管我仍然可以選擇在堆中完全實例化對象。 但是讓我們說我不知道​​對象的實現。

    6熱度

    1回答

    在C你明確要求和管理堆上的內存,所以用堆的交互是明確界定/顯而易見的。你如何在Node.js中對此進行推理? 子問題: 哪裏/如何存儲功能呢? 都存在一定的對象/圖元總要得到保存在堆上? (例如緩衝器) 確實數據從棧遷移到堆?什麼時候? 引用良好的資源在這個問題上也將感激,謝謝。

    0熱度

    3回答

    如果我有一個函數在堆棧上創建一個STL對象並將它們添加到堆棧中。例如,假設我在堆棧上製作std::pair,並將它們添加到在堆上製作的std::queue。現在,如果我將該隊列傳遞到該函數之外,那麼可以使用隊列作爲參數的另一個函數訪問std::pair對象。

    0熱度

    2回答

    數據對齊的問題在另一篇文章中,我問了一個編碼問題,並在源代碼中對這個問題,我宣佈以下列方式一些變量: char datablock[200]; char *pointer1=datablock; char *pointer2=datablock+100; 然而有人指出,代碼可能與64位系統不兼容,因爲100不能被8整除?我不記得那是什麼。 但我想要做的是保留一大塊內存用於我的程序,並使其盡

    0熱度

    2回答

    假設有一個函數需要調用數百萬次。由這個函數執行的算術運算並不那麼繁重,所以唯一重要的是所有變量的分配速度有多快。我們還假定變量總是在堆棧上分配。 最簡單的情況下,例如: void doSomething(){ int aReallyLargeVariable[10000]; ...performing a few light operations on that variabl

    2熱度

    2回答

    我對學習編程語言比較陌生,我覺得我對面向對象編程語言(更具體地說是C#語言)有20%至25%的理解。所以我真的在不知道其答案的實際意義的情況下對我的語言學習過程陳述這個問題,但我真的覺得我需要問這個問題。 當一個方法被調用執行時,我知道它的所有局部變量及其參數和返回值實際上存在於堆棧內存中。雖然方法本身是從堆內存中作爲實例化對象或靜態類的成員,或作爲非靜態類的靜態成員調用的。 現在我的問題是,當方

    2熱度

    2回答

    我讀過堆棧正在使用來管理函數調用,其中堆用於存儲正在分配的對象。我的理解是,非原始類型的對象將被存儲在堆中。我在堆棧&堆的情況下使用下列用法困惑: 1)原始數據類型,MACROS(#define),靜態對象,const和extern? 2)棧管理函數調用,但我想知道什麼信息與功能推到棧? 3)我讀的地方功能相關的本地對象存儲在堆棧。所以如果在函數內部發生任何對象分配,堆棧或堆被使用?如果有任何基本

    -2熱度

    1回答

    我有一個文件,我創建並寫入到我的C程序中。當我運行: [gdb] x/50wx $esp 我得到的地址以下列表: 0xbffff750 <someaddr> <someaddr> <someaddr> <someaddr> 0xbffff760 <someaddr> <someaddr> <someaddr> <someaddr> .... 等了一對夫婦更行。我心目中的命令是類似的東西

    2熱度

    2回答

    我有以下C++代碼: struct B { int c; int d; } struct A { int a; B x; } int main() { A * ptr = new A; ptr->a = 1; ptr->x.c = 2; ptr->x.d = 23; // a lot of li

    2熱度

    2回答

    在這裏,我有(焦炭,USIZE)對一個向量VEC,我想編寫一個函數 fn take_lt(&'a vec, cutoff: usize) -> Iterator<'a, char> 返回了匹配值的字符的迭代器小於臨界值。 有沒有辦法做到這一點,而沒有分配東西堆(即裝箱Fn環境或創建另一個向量)的開銷? 有沒有辦法做到這一點 而不必明確寫出可怕的關聯返回 類型? 嘗試這許多不同的方式後(一對夫婦