一个项目进而加载了一个共享库,一开始调用一切正常,怎么库里增加了一些代码后就经常出现Segmentation fault??
比如在一个接口函数里只要printf("%d\n",i),把一个变量打印出来,而此时在项目里根据没调用此函数,程序一启动就Segmentation fault,printf函数还没运行呢,怎么回事,把printf删了就好。
不只用printf会这样,在库里一个类的构造函数增加一句普通语句也会,晕死。。。。
------解决方案--------------------
有几个想法,不知对不对
1、编译的模式是否与主程序不一样。如在release中调用debug版本。
2、dll初始化里,包括全局变量和类的初始化是否存在相关内存操作。