mingw是否支持clr safe?

Does mingw support clr safe?

我想要 compile C++ extensions to SQL Server,来自文档

Safe mode: Run verifiably typesafe code; compiled with /clr:safe.

mingw 的 C++ 编译支持 /clr:safe 吗?

Microsoft .NET 框架的公共语言运行库 (CLR) 没有 适用于非 Microsoft、非 .NET 编译器。几个 Windows 端口 "mingw" 表示的 GCC 都是非 .NET 的本机编译器。微软的 /clr:safe 适用的托管类 C++ 语言 C++/CLI 不是 C++。

/clr:safe 指示 Microsoft 编译器生成包含以下内容的输出文件 没有本机代码,只有可验证类型安全的 Microsoft 中间语言代码 使用 CLR 管理执行。根据定义,本机编译器无法提供 等效选项:生成本机代码是他们所做的。

如果您想要的是如何使用 GCC 所能提供的最严格的诊断来编译 C++ 提供,一个勤奋的答案会很长,因为有太多 诊断安全性极端情况的选项。至少定居于:

-Wall -Wextra -pedantic

(参见 3.8 Options to Request or Suppress Warnings) 并且可能会根据痛苦的经历和越来越多的偏执狂来增加列表 ;)

除了常规的静态诊断之外,还提供了另一种卫生级别 通过 3.11 Program Instrumentation Options 的大 -fsanitize=... 家族。