【问题标题】:Does deprecation effect the runtime of the application?折旧会影响应用程序的运行时间吗?
【发布时间】:2014-03-11 01:39:43
【问题描述】:

我正在开发一些应用程序 (MSVC++),但我总是遇到弃用警告。一般来说,在这个问题中,我要说我使用标准 C90:

fopen()

结束

fopen_s() <- as msvc++ suggests for me to use

这是否意味着在编译我的应用程序之后,假设一个 Windows 8 用户想要使用它,他会不会从中获得更少的功能,用较小的术语来说,这是否意味着当他运行应用程序时,然后 fopen()函数将无法识别,因为它已“弃用”(我认为这意味着它已过时)?

另外,如果说我是否使用它并不重要,MSVC++ 说我可以使用 _CRT_SECURE_NO_WARNINGS 标志来忽略弃用,如果是这样,我可以在哪里包含这个标志以便它忽略警告?

【问题讨论】:

标签: c++ c visual-studio winapi deprecated


【解决方案1】:

对于 MSVC 运行时函数,不,如果您使用已弃用的函数,例如 fopen(),则不会出现兼容性问题。

fopen() 的代码存在于 MSVC 运行时库中,您的应用程序要么 (a) 静态链接到该库,要么 (b) 使用特定版本的 DLL。无论您的应用在何处运行,应用使用的 DLL 版本都是相同的,因此您不必担心 Windows 8 没有合适的 DLL。

MSDN 文档Security Features in the CRT 指出:

在这种情况下,“弃用”只是意味着不推荐使用某个函数;它并不表示该函数已计划从 CRT 中删除。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多