有没有办法找到构建 mingw 构建的开关?

Rik*_*ika 2 gcc mingw

有没有办法找到一个特定的 gcc 构建,它是用哪些开关构建的?
我听说,建立一个GCC编译出它的源代码时,有对夫妇,确定一些具体的交换机的功能可用与否例如有Thread_posix和/或Win32_thread交换机构建MingWWindows,第一个将允许使用std :: thread 和另一个不会,或者sjlj构建 vsdwarf处理异常的构建(我什至不知道它们是做什么的!我只知道sjlj构建在所有情况下都慢了 15%!)
所以我可以在那里要了解这些以及可能在这方面的更多信息吗?

rub*_*nvb 6

是的。的输出gcc -v显示了您想知道的所有内容。

例外是这样的:

  • 矮人: --enable-dw2-exceptions
  • sjlj:--enable-sjlj-exceptions或者对于 4.8 之前的 64 位 MinGW-w64 GCC 什么也不做。
  • seh:--enable-seh-exceptions或者对于 GCC 4.8+ 64 位 MinGW-w64 GCC 什么也没有。

这些都可以从libgcc的DLL名称,它总是包含推断sjljdw2seh

libgcc 中使用的线程实现:

  • win32:默认,可选 --enable-threads=win32
  • 位置: --enable-threads=posix

据我所知,这些不能从文件名中推断出来。