问题标签 [glibc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - nftw(FTW_CHDIR)中的文件描述符泄漏?
我正在使用 POSIX 调用nftw()
来遍历目录结构。目录结构是扁平的——只有 4 个文件,没有子目录。
但是,当我在这个平面目录上多次调用 nftw() 时,一段时间后我会收到一条错误消息:
事实证明,这是在FTW_CHDIR
使用标志时发生的。
您是否同意这是 nftw() 的 Linux 实现中的一个错误?
更新
现在 glibc 存储库中提供了一个修复程序。
以下是我用于测试的源代码的一些链接:
- main.cpp: http: //sourceware.org/bugzilla/attachment.cgi ?id=4586&action=view
- 制作文件:http : //sourceware.org/bugzilla/attachment.cgi ?id=4587&action=view
更新
- MacOS-X也受到该错误的打击
- Solaris9、Solaris10 和 AIX 5.3没有这个 bug
c++ - glibc 检测到错误
有人可以帮我理解这个错误信息吗?
这条线特别说明了什么?
此外,在使用 gdb 查看核心转储时,我收到以下消息:
在 gdb 中输入命令“frame 15”后,我得到:
任何人都可以帮助我理解这一点吗?
非常感谢人们。
multithreading - 如何在 qthread 和 mainthread 中使用 QObject 以避免“glibc 检测到双重释放或损坏(fasttop):”?
我有一个使用 udp 套接字在循环中写入和读取数据报的 qthread。QUDPSocket 在主线程中创建。如何处理将在 QThread 和主线程中使用的 QObject。也可以在主线程中使用 UDP 套接字并在 qthread 中使用它吗?
pthreads - pthread_cleanup_pop_restore - 它是什么?
pthread_cleanup_pop_restore - 它是什么?
它来自 glibc。而且调用太频繁,会占用大量cpu时间。
该程序使用了大量的 getc() 调用。我无法更改程序(它是具有固定源的基准测试),但想让它运行得更快。
linux - 如何将 glibc 与 qt 静态链接
我已经构建了一个静态版本的 qt 并下载了一个静态版本的 glibc。现在我想将 glibc 静态链接到我的 qt 应用程序。我知道进入 .pro 并添加行 LIBS += -L path/to/static_lib 但我想知道这些是否足够?即使我正在构建的操作系统也有动态库,它仍然会静态链接 glibc 吗?我这样做的原因是以独立方式部署应用程序。(安装和更新 Red Hat 5.3 后在目标计算机上找不到 glibc_2.9)
qt - qt 4.6 应用程序可以运行的最旧的 glib 版本是什么
在构建一个静态链接到 qt 库的 qt 应用程序之后,我正在尝试构建一个独立的 qt 应用程序(基于 ubuntu 并部署在 Red Hat 5.3 上)我试图在 red hat 上运行该程序并得到一个错误说未找到 libc.so.6 并且未安装和需要 GLIBC_2.9 或 GLIBC_2.10。我尝试执行 yum install glibc 但随后我收到一条消息说 glibc 是最新的(我认为它的版本是 2.5) 我想我将重新启动构建过程,但这次是从红帽安装。你建议我在这种情况下应该怎么做。我的目标是构建一个只需要在 red hat 5 上运行的独立 qt 应用程序(我很确定 fontconfig.so 也会有问题,但我可以直接在与应用程序相同的目录中提供这个库)
c - 不使用 libc 编译
我想在没有 (g)libc 的情况下编译我的 C 代码。如何停用它以及哪些功能取决于它?
我试过 -nostdlib 但它没有帮助:代码可编译并运行,但我仍然可以在可执行文件的 hexdump 中找到 libc 的名称。
malloc - 为二进制程序启用 mtrace (MALLOC_TRACE)
如何为没有源的二进制程序启用mtrace()
(和环境)?MALLOC_TRACE
mtrace 是 glibc 的功能:http ://www.gnu.org/s/hello/manual/libc/Allocation-Debugging.html
谢谢
glibc - mtrace + MALLOC_TRACE - 禁用缓冲
如何禁用缓冲mtrace
并输出名称来自的文件MALLOC_TRACE
?
mtrace 启动为:
c++ - 动态库和主程序中的静态类变量
我正在开发一个包含静态 stl 容器类的“A”类的项目。这个类包含在我的主程序和 .so 文件中。该类使用默认(隐式,未声明)构造函数/析构函数。主程序使用 dlopen() 加载 .so 文件,并在其析构函数中调用 dlclose()。当 glibc 调用静态类成员变量的析构函数时,程序在 main 退出后崩溃。问题似乎是,当调用 dlclose() 时,调用了静态变量的析构函数,然后当 main exits() glibc 也调用析构函数时,导致双重释放。
我有两个问题,即:
1)在这种特殊情况下,为什么没有静态变量的两个副本(是的,我知道这听起来有些荒谬,但是由于主程序和 .so 文件都有一个单独编译的“A” ,他们不应该每个人都有一个吗?)
2)有没有办法解决这个问题而无需重写类'A'以不包含静态成员变量?