Jump to...
redirecting...

Log for Ubuntu 台灣社群

就是c++的 int x = new int;
這句話如果是配置int大小的記憶體
那和原本的int x;
有何差異
一個是動態配置一個不是的差別吧?
int就是4byte
有沒有動態
沒差吧
我不太確定 希望高手指點
int x; 是配置在 call stack 上,function 只要一 return,這塊區域就會被釋放
高手出來了(膜拜
int *x = new int; 是配置在 heap 區,可以相成是另一塊專門放需要保存的資料的記憶體區塊。除非你手動 free 掉(c++ 的 delete),否則這塊空間就會留給你用
一個是可以邏輯決定要不要跟系統要,一個是寫死的(?)
鄙校有一門叫做程式語言的會上 call stack 跟 heap 這些東西<del>雖然我被當了</del>
然後每個都這樣做
都不free
就memory leak囉(灑花
不過 C++ 的 new/delete 本質上跟 C 的 malloc/free 是相同的東西吧?
欸....差不多,但 new/delete 會去 call class 的特定 method,所以是可以特別決定行為的
好像有 GC 可以用
malloc/free 就很純粹針對 space 處理
C++ 的話,你得要用 smart pointer 才能幫你 GC
倒是原本發問的 @yiyu0x 有沒有得到解答啊?
ok 我去查一下heap跟stack
謝謝大大 很詳細
呼叫堆疊 - 維基百科,自由的百科全書
https://zh.m.wikipedia.org/zh-tw/%E5%91%BC%E5%8F%AB%E5%A0%86%E7%96%8A
我知道我模糊的方向了
比較簡單的解釋就是,要new / malloc的是執行到那句系統才會分配空間給變數使用, 沒new/malloc的就是程式開始執行時系統就會預先分配好空間
只有 new/malloc 才能夠配置變數大小的記憶體吧(?
[sticker](media:AAQFABOGdNAyAAQMTIYE5CtSfXkIAAIC@telegram)
[photo](media:AgADBQADX6kxG79I6FY6j9bfFZguT5eD0DIABC9IjhRhljTDBOAAAgI@telegram)
是說 ubuntu 上有辦法用 Websocket 連 PTT 嗎?
我現在Linux還是用ssh進去
所以我不確定
不知道PCMANX 有沒有計畫更新
Windows 平台的 PCman 到現在才支援加密連線根本是資安漏洞
好加在修了
不是有瀏覽器就可以?
這是?
只抓差異部份來升級軟體,可節省流量
不過目前還沒出來啊
很多加速apt-get的方式docker裡都不怎麼能用,因為在每一個run結束前,cache一定得全清,不然image會很肥
cache 會過期存起來沒意義啊
但是這樣遇到現在這樣的海纜爆炸就是慘劇啊,每個RUN裡的apt-get update都要30分鐘,而且docker也沒辦法在build mount volume去用現成的檔案
找本地的鏡像站吧?
我是用httpredir讓他自己選,不過…
不過docker的預設dns是8.8.8.8
誤判嗎www
這樣應該會結到全球站去
但無論是哪個要改起來都很麻煩
不是得去加一個RUN讓修改apt的list,就是得修改dockerd的選項讓他改用中華的dns
直接寫死 free.nchc.org.tw 吧?
或許我會放個build arg吧…
sed要怎麼替換目標檔案裡所有特定字串?
sed --in-place 's/srcstring/tgtstring/'
大概是這樣,不過我其實沒確實研究過怎麼作
[photo](media:AgADBQADYKkxG79I6FYkm6aIZuquvdCA0DIABJc0zoek-2SW6t0AAgI@telegram)
這個有含debian的嗎?
有喔
看debian官網是寫opensource.nchc.org.tw?
這是單純alias嗎?