[問題] dlopen卡住

看板C_and_CPP作者 (xanadu)時間10年前 (2013/12/20 01:26), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Ubuntu Code::Blocks 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) pthread dl 問題(Question): 主程式會同時掛載多個dynamic library, 而這主程式和library都會用到pthread 例如: MainProgram: shared link dl, pthread, dynamic link subProgram SubProgram: shared link pthread 在Code::Blocks內用GDB Debug時, 跑到dlopen掛載SubProgram時就會卡住不動。 但我只要把SubProgram的link pthread拿掉就可以正常Debug 雖然後來程式能跑, 但我覺得我還是沒搞懂為何dlopen會卡死, 另外我覺得這問題根本是我不知Linux下要怎麼正確的使用library, 在windows上習慣是有用到就加link, 在linux上理論上應該也是一樣啊? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.252.150.139

12/20 09:23, , 1F
Google: glibc dlopen thread safe
12/20 09:23, 1F

12/20 09:24, , 2F
得到的答案似乎是否定的,所以 ... 自己做保護吧 XD
12/20 09:24, 2F

12/21 10:52, , 3F
模組在載入時只有單thread 也是掛點, 再研究看看
12/21 10:52, 3F
文章代碼(AID): #1Iiomwty (C_and_CPP)