LINUX編譯了 C 語言程序,用到了 系統動態鏈接庫.so。編譯成功後,運行直接CORE了。GDB發現程序根本沒開始運行就core了。如果把程序中把用到的系統動態鏈接庫.so部分去掉,則能正常運行。
如main會用到libadd.so
目錄結構
--src--add--add.h
| |_add.cpp (這裏有makefile0)
|_main.cpp
|_makefile
如果makefile中加載libadd.so CXXFLAGS=-shared -fPic -Wall -g
這樣可以正常生成main程序,但是執行的時候會一起動直接core掉;
應該是init時候出錯,加載.so文件出錯。
去掉-shared選項,make clean;make此時可以正常執行。