C_and_CPP 板


LINE

開發平台(Platform): (Ex: Win10, Linux, ...) win10 編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出) vs2017 我在vc++寫好的opencv 在vc++執行幾萬次 記憶體都不會增加 封裝成dll檔給c#使用 每執行一次不會有變化, 但連續執行(至少十幾次後) 會看到約0.1M的增加 執行20000次後 記憶體從30M變成80M 我有使用new char[]的都有delete 我有使用new char[]的都有delete 我有使用new char[]的都有delete 我有使用new char[]的都有delete 我有使用new char[]的都有delete 我有使用new char[]的都有delete 我有使用new char[]的都有delete 我有使用new char[]的都有delete 在c#跟c++數字交換是用struct 都是由c#這邊生成struct 在丟給vc++去讀取或寫入數據 字串交換都是c#宣告string 在丟給vc++ Vc++有new char[] 也會事後在vc++ delete 日前我找不到什麼原因記憶體會不斷上升 --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.136.106.27 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1610087666.A.FC9.html
1F:→ shibin: 如果是new char[] 要搭配使用delete[]而不是delete喔01/08 15:39
2F:→ shibin: 如果是new char[] 要搭配使用delete[]而不是delete喔01/08 15:39
是delete[]沒錯 是delete[]沒錯 ※ 編輯: su27 (220.136.106.27 臺灣), 01/08/2021 16:22:31 ※ 編輯: su27 (220.136.106.27 臺灣), 01/08/2021 16:22:31
3F:推 TeaEEE: 你是return一個string還是c#傳pointer去get string?01/08 16:49
4F:推 TeaEEE: 你是return一個string還是c#傳pointer去get string?01/08 16:49
在c#是寫成ref string temp C++則是 char* &temp ※ 編輯: su27 (220.136.106.27 臺灣), 01/08/2021 17:18:01
5F:→ Lipraxde: 有開 thread 嗎?01/08 17:44
※ 編輯: su27 (220.136.106.27 臺灣), 01/08/2021 18:12:36
6F:→ Lipraxde: 看是不是有在不同 thread 釋放 memory 的情形,我以前01/08 19:05
7F:→ Lipraxde: 在 linux 上遇到過,不知道 windows 上會不會也發生同01/08 19:05
8F:→ Lipraxde: 樣的事01/08 19:05
請問一下 都沒錯誤的狀況下 不管執行多少遍 記憶體都不會一直增加 是嗎? ※ 編輯: su27 (220.136.106.27 臺灣), 01/08/2021 19:13:48
9F:推 Schottky: 都沒錯誤(X) 錯誤藏在你沒看見、想不到的地方(O)01/08 19:25
10F:推 Schottky: 都沒錯誤(X) 錯誤藏在你沒看見、想不到的地方(O)01/08 19:25
11F:推 ko27tye: 你在dll內allocate的記憶體 也要由dll來釋放01/08 19:34
12F:→ ko27tye: 把你dll內delete的行為包成一個function給上層呼叫01/08 19:35
13F:→ ko27tye: 把你dll內delete的行為包成一個function給上層呼叫01/08 19:35
我目前的確是 由dll創建的 也做一個函數由c#呼叫去delete C#要輸入值 就用marshal.AllocHGlobal dll用完後 marshal.FreeHGlobal去刪除 ※ 編輯: su27 (220.136.106.27 臺灣), 01/08/2021 19:53:56
14F:→ WPC001: 一定是沒適當的釋放... 就這樣,你沒把code貼出來01/08 23:47
15F:→ WPC001: 根本沒人知道你是怎麼寫的,甚至有可能問題出在C#而不是C++01/08 23:48
16F:→ kobe8112: 使用VS的追蹤工具檢視相關資源、將DLL功能拆分成多個部01/09 00:01
17F:→ kobe8112: 份分別測試、在邏輯不變的前提DLL運算數量簡化到最小...01/09 00:03
18F:→ kobe8112: 我自己的話會從這幾個方向著手,當然最快作法就是貼code01/09 00:03
我本來是執行一大堆程式(使用很多dll的函數) 把他拆成 把他拆成 1.只載入圖片20000次 內存是28M 看起來沒問題 2.將圖片轉成灰度圖。 20000次後 變成51M 這函數沒任何數字及字串 輸入輸出 程式碼挺大的 現在也不曉得到底哪裡有問題 就如我說的 執行兩三次內存是相同的 沒任何變化 我估計我得在C#寫個小程式 才能知道哪裡出問題 謝謝 ※ 編輯: su27 (220.136.106.27 臺灣), 01/09/2021 03:16:55
19F:→ petercoin: 看看轉灰度圖的部分有沒有沒釋放掉的記憶體阿01/09 03:19
20F:→ petercoin: 如果那個功能是用WINAPI做的,有些釋放記憶體是要另外01/09 03:19
21F:→ petercoin: 呼叫相對應的function,沒有呼叫就會一直吃掉記憶體01/09 03:20
22F:→ sarafciel: 我猜問題應該是出在C# 你有物件是從manage轉unmanage嗎01/10 00:12
Struct算嗎 我的數據交換是用struct ※ 編輯: su27 (42.74.224.220 臺灣), 01/10/2021 16:21:06
23F:→ sarafciel: 用C#做的struct或class都是managed,簡單的說,他們都 01/10 21:06
24F:→ sarafciel: 會被GC控管,在處理這種C#跟VC++的介接時,會碰到的一 01/10 21:08
25F:→ sarafciel: 個問題是C++處理到一半時C#的GC被叫起來 然後把你丟到 01/10 21:09
26F:→ sarafciel: C++的struct釋放掉,所以有一個函式是指定某個物件要求 01/10 21:12
27F:→ sarafciel: GC不要去處理他 你可能要找一下code有沒有這種東西 01/10 21:13
28F:→ kobe8112: 幫樓上補關鍵字: GCHandle 01/11 09:11
29F:→ sunneo: 看圖片載入是從哪做的 通常都會有dispose() 可以用 01/16 23:38







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:iOS站內搜尋

TOP