LINUX 可执行程序一运行直接core掉问题解决
2012-05-25 14:24
309 查看
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此时可以正常执行。
如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此时可以正常执行。
相关文章推荐
- VS2010调试“正试图在 OS 加载程序锁内执行托管代码”和运行出现R6034问题解决
- linux上运行程序问题,提示cannot open shared object file错误的解决办法
- 64位linux不能运行32位程序,问题解决方案
- 解决.NET 4.0下无法直接运行.NET 2.0程序的问题
- 正试图在 os 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码,这样做会导致应用程序挂起。问题的解决方法!
- 正试图在 os 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码,这样做会导致应用程序挂起。问题的解决方法!
- .NET 4.0 环境下无法直接运行 .NET 2.0 程序的问题,当然目前解决了 (转载--来于园中)
- 编写在Android的Linux系统中直接运行的可执行程序
- CGYWIN 编译的可执行程序在WINDOWS平台中运行时,解决system函数不能使用的问题
- CGYWIN 编译的可执行程序在WINDOWS平台中运行时,解决system函数不能使用的问题
- 【已解决】可执行程序无法在Linux上运行,显示line 1: syntax error: word unexpected (expecting ")
- 在Linux中#!/usr/bin/python之后把后面的代码当成程序来执行。 但是在windows中用IDLE编程的话#后面的都是注释,之后的代码都被当成文本了。 该怎么样才能解决这个问题呢?
- 正试图在os加载程序锁内执行托管代码。不要尝试在DllMain或映像初始化函数内运行托管代码 问题解决方法
- 编写在Android的Linux系统中直接运行的可执行程序 - 检测CPU能力
- 在嵌入式linux执行程序not found有关问题的解决
- 解决linux/Ubuntu下Qt creater 界面程序在编译运行后无法显示中文或中文乱码问题!
- 正试图在 os 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码,这样做会导致应用程序挂起。问题的解决方法!
- gcc编译静态库到自己的程序 解决在不同linux下因libc版本问题而不能运行
- java linux和windows下文件路径间隔符的写法——解决linux下程序在windows下运行时的上传文件出错问题
- 正试图在 os 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码,这样做会导致应用程序挂起。问题的解决方法!