gpt4 book ai didi

c++ - 静态库中的"Conditional jump or move depends on uninitialised value"

转载 作者:太空狗 更新时间:2023-10-29 23:17:18 26 4
gpt4 key购买 nike

当我将我的项目与库的静态版本链接时,VALGRIND 开始报告错误编号“条件跳转或移动取决于未初始化的值”错误。问题是项目本身除了空的主函数外什么都没有,所以肯定是库的问题。

库的共享二进制文件和静态二进制文件是分开编译的,当库链接为共享时,VALGRIND 不会报告任何内容。

==4691== Conditional jump or move depends on uninitialised value(s)
==4691== at 0x8108A88: __linkin_atfork (in /...)
==4691== by 0x80F60CC: ptmalloc_init (in /...)
==4691== by 0x80FA075: malloc_hook_ini (in /...)
==4691== by 0x80F9FB8: malloc (in /...)
==4691== by 0x812C9EB: _dl_init_paths (in /...)
==4691== by 0x81093AF: _dl_non_dynamic_init (in /...)
==4691== by 0x8109E5E: __libc_init_first (in /...)
==4691== by 0x80DC90D: (below main) (in /...)
==4691== Uninitialised value was created
==4691== at 0x812A68E: brk (in /...)
==4691== by 0x81065AC: sbrk (in /...)
==4691== by 0x80DCC88: __libc_setup_tls (in /...)
==4691== by 0x80DCE39: __pthread_initialize_minimal (in /...)
==4691== by 0x80DC8AA: (below main) (in /...)

这个错误应该被忽略还是可以通过某种方式解决?

最佳答案

如果你调用 calloc 而不是调用 malloc 会怎样?

您可能正在访问指向它的数据,该数据已被 malloc'ed 但在数据分配给它之前。

调用 calloc 而不是 malloc 会隐藏问题,但不会解决您遇到的问题。确保在引用数据之前分配数据。

关于c++ - 静态库中的"Conditional jump or move depends on uninitialised value",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18791726/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com