0

GCC 安装配置文档中,您可以在配置 GCC 时将其作为参数传入。

--禁用线程

指定应为系统禁用线程支持

我已经对 GCC 源代码进行了一些研究,看来这会影响 libgcc 运行时库。头文件gthr-single.h被动态插入到gthr.h中。如果我没有使用该--disable-threads选项,那么gthr-posix.h将被插入到 gthr.h 中。gthr-posix 文件似乎是 glibc 的 pthread.h 标头的包装器。所以这是我的问题:

通过强制 libgcc 使用 gthr-single.h 并因此不允许它使用 pthread.h 例程,libgcc 本身是如何受到影响的?如果这些应用程序本身包含来自 glibc 的 pthread.h 库文件,为什么它不能支持构建线程应用程序?

如果我通过 libgcc 源代码快速搜索 gthr.h,我会看到用于异常处理的帧展开代码、vxworks 文件(VxWorks 似乎是 RtOS)和 TLS 仿真文件包含它。据我所知,这些文件都不应该禁止 GCC 构建可以使用 Glibc 创建多线程程序的代码。这是否只是对我对 GCC 文档所说的--disable-threads选项实际作用的误解?

4

0 回答 0