mingw 支持 clr 安全吗?
Posted
技术标签:
【中文标题】mingw 支持 clr 安全吗?【英文标题】:Does mingw support clr safe? 【发布时间】:2017-12-17 07:30:49 【问题描述】:我想compile C++ extensions to SQL Server,来自文档
安全模式:运行可验证的类型安全代码;用
/clr:safe.
编译
mingw
的 C++ 编译是否支持/clr:safe
?
【问题讨论】:
【参考方案1】: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=...
家族。
【讨论】:
“/clr:safe 适用的微软托管的类 C++ 语言 C++/CLI 不是 C++。”这很有意义,我正在寻找这方面的信息。我对 MS Landscape 的想法是 0,所以我确信这是一个新手错误,但它击中了头。 具体来说,我想做的是在 Linux(或 C)的 SQL Server 中使用 C++ 而不是 CLI。以上是关于mingw 支持 clr 安全吗?的主要内容,如果未能解决你的问题,请参考以下文章