问题标签 [deprecated]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
44354 浏览

c - getch 已弃用

回到过去,我在大学里学过一些 C 和 C++,但我对 C++ 的关注并不多。现在我想关注 C++,但是当我使用该getch()函数时,我从下面收到警告。

警告 C4996:'getch':不推荐使用此项目的 POSIX 名称。而是使用符合 ISO C++ 的名称:_getch。详细信息请参见在线帮助。

现在,我正在使用 VS 2005 express,我不知道如何处理这个警告。我需要在出现错误消息或需要按键的其他内容getch()后使用。printf()

你能帮我解决这个问题吗?

0 投票
2 回答
362 浏览

c++ - 使用 Autoconf 处理弃用的包含

我一直ext::hash_map在 C++ 项目中使用,并注意到在 g++ 4.3 中它已被弃用,取而代之的是unordered_map. 我需要保持与不可用的旧系统的兼容性unordered_map。我突然想到,这正是我已经在使用的 autoconf 可以处理的事情。但是,我未能成功找到有关这样做的文档。

我想我需要执行以下操作:
- 将ext::hash_map我的代码中的所有实例替换为 - 将我的代码中的所有MY_HASH_MAP
实例替换为 - 在 configure.ac 中使用和的某种组合包含一行ext/hash_mapMY_HASH_INCLUDE
AC_CHECK_HEADERSAC_DEFINE

我无法准确地找出正确的 autoconf 魔法来完成这项工作,并且想知道它是否是最好的解决方案。当然,这是许多其他人会处理的事情,并且可能有一些我无法找到的标准解决方案?

所以,三个相关的问题:
- 有没有我应该使用的标准方法来处理这个问题?
- 我如何在 autoconf 中做到这一点?
- 我是否应该只使用 -Wno-deprecated 并假设 C++ 标准在我有生之年不会更新?

0 投票
16 回答
234375 浏览

python - 如何忽略 Python 中的弃用警告

我不断得到这个:

如何让这条消息消失?有没有办法避免 Python 中的警告?

0 投票
2 回答
442 浏览

c++ - Sun 的 C++ 编译器的“弃用”表示法?

Sun 编译器是否具有将函数标记为已弃用的符号,例如 GCC__attribute__ ((deprecated))或 MSVC __declspec(deprecated)

0 投票
7 回答
29121 浏览

c++ - 为什么我不能使用 strerror?

我正在将一些代码移植到 Windows,Microsoft 编译器 (Visual C++ 8) 告诉我这strerror()是不安全的。

撇开微软提供的所有安全字符串中的烦恼因素不谈,我实际上可以看到一些已弃用的函数是危险的。但我不明白有什么问题strerror()。它接受一个代码 ( int),并返回相应的字符串,如果该代码未知,则返回空字符串。

危险在哪里?

C中有一个好的选择吗?

C++ 中有没有好的替代方案?

[编辑]

得到了一些好的答案,现在明白了一些实现可能足够疯狂,以至于实际写入一个公共共享缓冲区——在单线程内重入是不安全的,更不用说线程之间了!- 我的问题不再是“为什么我不能使用它,还有什么替代方案?” 到“C 和/或 C++ 中是否有任何体面、简洁的替代方案?”

提前致谢

0 投票
6 回答
21131 浏览

c++ - 为什么我不能使用 fopen?

我之前询问过的关于所谓的安全库弃用的问题中,我发现自己同样对为什么fopen()应该弃用感到困惑。

该函数接受两个 C 字符串,并返回一个 FILE* ptr,或在失败时返回 NULL。线程安全问题/字符串溢出问题在哪里?或者是别的什么?

提前致谢

0 投票
4 回答
6969 浏览

python - 如何在 Python 中将全局标记为已弃用?

我见过装饰器可以让您将函数标记为已弃用,以便在使用该函数时发出警告。我想对全局变量做同样的事情,但我想不出一种检测全局变量访问的方法。我知道 globals() 函数,我可以检查它的内容,但这只会告诉我是否定义了全局(如果该函数已被弃用而不是全部删除,它仍然会是)而不是如果它实际上被使用. 我能想到的最好的选择是这样的:

但除了如何让 DEPRECATED 完全像“3”一样的问题之外,我不确定 DEPRECATED 可以做什么来让您在每次访问它时都能检测到。我认为它可以做的最好的事情是遍历所有全局方法(因为 Python 中的所有内容都是一个对象,所以即使“3”也有方法,用于转换为字符串等)并将它们“装饰”以使其全部被弃用。但这并不理想。

有任何想法吗?有没有其他人解决过这个问题?

0 投票
2 回答
1242 浏览

ruby-on-rails - 我应该对 Rails 弃用警告感到害怕吗?

在处理你不是 100% 熟悉的任何框架时,我发现尝试理解和清理任何无关的警告是明智的,只要这样你就有更好的机会在真正的错误发生时注意到它们。

我最近得到的一个是:

它似乎没有破坏我当前代码库中的任何内容,但我担心只是因为我不完全理解警告。我认为通常最好不要在你的部分中使用@model。

尽管如此,每次这个特定的“模型”出现在它的部分时,这个警告就会被调用。

我应该如何明确分配它?我在控制器中创建了@model,然后使用集合调用部分(理解为“railsy”方法。)

谁能向我解释这里发生了什么,以及在这种情况下有哪些最佳实践?我还没有吓坏,但数英里的警告往往会淹没我的应用程序的实际输出。

0 投票
4 回答
536 浏览

java - Java:弃用的工具

一旦方法被标记为已弃用,是否有任何工具可以用未弃用的解决方法替换这些方法?

0 投票
9 回答
647 浏览

api - 避免弃用代码的敏捷实践?

我正在将一个开源 Java 库转换为 C#,其中有许多方法和类标记为已弃用。这个项目是一个从头开始的机会,所以我计划完全删除它们。然而,对于大型项目的工作来说,我很担心这种情况会再次出现。由于大部分敏捷开发都围绕着让某些东西现在工作并在需要时进行重构,所以 API 的弃用似乎是一个普遍的问题。即使我不完全确定项目的未来方向,我是否可以采取预防措施来避免/最大限度地减少 API 弃用?