我已经在 ARM 上成功清理和编译了一个用 C99 编码的可移植程序。我的任何源文件都无法使用 /ZW 进行编译。
Visual Studio 告诉我的只是我无法使用 /ZW 编译我的文件。
这可以使用 C99 代码Runtime Component
吗?
什么使文件可以用 /ZW 编译?
我已经在 ARM 上成功清理和编译了一个用 C99 编码的可移植程序。我的任何源文件都无法使用 /ZW 进行编译。
Visual Studio 告诉我的只是我无法使用 /ZW 编译我的文件。
这可以使用 C99 代码Runtime Component
吗?
什么使文件可以用 /ZW 编译?
当前版本的 MSVC 不是 C99 编译器——尽管将来可能会改变,因为它支持 C11,因此,C99 的某些部分也有必要。
不过,目前,在移植到 MSVC 之前,您必须删除任何依赖 C99 的编码实践。另请注意,_snprintf()
Microsoft 运行时中的行为与 C99 for 所需的行为不同snprintf()
(重命名本身就是另一个问题)。在附件 K(边界检查接口)的 C11 中定义为可选的一些“更安全”函数与同名函数的 Microsoft 运行时版本之间也存在差异。另请参阅您是否使用 TR 24731 的“安全”功能。