[問題] dll傳WCHAR的陣列

看板C_and_CPP (C/C++)作者 (星空下的鮪魚)時間16年前 (2010/01/27 20:17), 編輯推噓0(003)
留言3則, 2人參與, 最新討論串1/1
遇到的問題: (題意請描述清楚) dll之間傳字串的陣列,用explict linking的方式連結該dll。 如果app那邊是debug mode,而dll是release mode,有什麼該注意的嗎? 開發平台:VC++ 補充說明: 目前function是定義成 BOOL WINAPI Foo(WCHAR list[][MAX_PATH], int *nItems) { ... wcscpy(list[nIdx], _T("Hello World\n")); ... return TRUE; } 關於list[][MAX_PATH]是由caller負責記憶體的建構和解構, 而我這邊用 wcscpy()把字串塞給list, 印象中記憶體的建構和解構必須都在同一邊完成, 不是都在caller,就是都在callee。 但是我覺得用wcscpy()把字串塞進去,如果兩邊的mode不一樣, 一個是debug,一個是release,會不會有什麼問題發生呢? -- Luke: All right, I'll give it a try. Yoda: No. Try not. Do... or do not. There is no try. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.115.245.54

01/28 00:53, , 1F
建構/解構, new/delete, malloc/free都建議在同一端做
01/28 00:53, 1F

01/28 07:58, , 2F
那如果caller負責了malloc/free, callee用wcscpy塞值
01/28 07:58, 2F

01/28 07:58, , 3F
這樣應該不會有問題吧?還是有什麼要注意呢?
01/28 07:58, 3F
文章代碼(AID): #1BO2x7IW (C_and_CPP)
文章代碼(AID): #1BO2x7IW (C_and_CPP)