当链接到pthreads时,我在程序执行期间收到意外的行为,ncurses接口变得没有响应,但程序不会崩溃。这是没有使用任何pthread功能,没有线程头或任何与线程相关的东西,只是连接。链接到pthreads的原因会导致程序行为发生变化?
链接到库的任何原因是否可以在不发出警告的情况下更改程序行为?
相关信息:
- 的ncurses也与可执行文件。
- 一切都在命名空间中。
- 尝试使用当前的gcc和clang。
- 没有编译器/链接器错误或警告使用-Wall。
- Arch Linux。
将ncurses和pthread连接在一起可以在我制作的一个较小的测试程序上正常工作。所以我在寻找更多的地方看看,这是一个库项目,代码库是一个很好的大小,除了使用ncurses库的一个小组件外,它都是普通的C++ 14。
最有可能你只是在你的代码中有一些错误,pthreads是不相关的。或者你有与pthreads符号名称冲突。但是由于您没有提供[最小化,完整和可验证示例](http://stackoverflow.com/help/mcve),因此无法猜测。你甚至没有定义什么“意外行为”。 – VTT
这里没有传感器......如果你没有提供说明行为和变化的代码,没有人能够提供帮助。最有可能你的代码包含UB – Swift
代码库很大,我真的不知道错误来自哪里,意外的行为是ncurses接口没有响应,没有崩溃。我拥有名称空间中的所有内容,并且没有符号名称冲突警告/错误。 –