- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
你好 V8 程序员和 node-gyp'ers。我正在运行 OS X 10.12.6
、Node v6.11.1
和 npm v3.10.10
、nan v2.6.2
,gcc
作为 XCode 的一部分,具有此版本输出:
$ > gcc --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 8.1.0 (clang-802.0.42)
Target: x86_64-apple-darwin16.7.0
Thread model: posix
请帮助我了解如何在自定义包安装的 npm install
或 node-gyp rebuild
过程中正确使用 NewInstance 并消除警告?
> node-gyp rebuild
CXX(target) Release/obj.target/cellcrypt/src/cellcrypt.o
CC(target) Release/obj.target/cellcrypt/src/decode.o
CXX(target) Release/obj.target/cellcrypt/src/DecryptionWrapper.o
../src/DecryptionWrapper.cpp:55:44: warning: 'NewInstance' is deprecated [-Wdeprecated-declarations]
v8::Local<v8::Object> instance = cons->NewInstance();
^
/Users/sjcbsolo/.node-gyp/6.11.1/include/node/v8.h:3276:52: note: 'NewInstance' has been explicitly marked deprecated here
V8_DEPRECATED("Use maybe version", Local<Object> NewInstance() const);
^
1 warning generated.
CC(target) Release/obj.target/cellcrypt/src/Encryption.o
SOLINK_MODULE(target) Release/cellcrypt.node
clang: warning: libstdc++ is deprecated; move to libc++ with a minimum deployment target of OS X 10.9 [-Wdeprecated]
如果不需要,我不想看到这些警告。我在 github 上找到了一张公开票通过要求调用 NewInstance 的方式来详细说明对另一个插件包的修复:
info.GetReturnValue().Set(cons->NewInstance(argc, argv));
info.GetReturnValue().Set(Nan::NewInstance(cons, argc, argv).ToLocalChecked());
实现 Nan::NewInstance()
而不会过多影响速度和效率的最佳方法是什么?
最佳答案
错误消息本身为您提供了答案的简短形式:“可能使用版本”。它试图告诉您有一个重载版本的 NewInstance
返回一个 MaybeLocal
(而不是一个 Local
),这就是您应该做的使用。
背景是大多数操作都可能失败,通常是在抛出异常时。旧的 V8 API 使嵌入者相对难以确定他们在所有相关位置检查异常;因此引入了一个基于 MaybeLocal
返回类型的新 API。每当你得到一个 MaybeLocal
时,你应该检查它是否真的包含一个值。如果您只是使用 .ToLocalChecked
(无需首先手动检查),这意味着您愿意在出现故障时简单地崩溃(如果您可以保证不会出现任何故障,这很好)。从好的方面来说,这并不比您的代码显然一直在做的事情更糟 ;-)
关于javascript - 如何消除 "' NewInstance' is deprecated"warning in `node-gyp rebuild`?v8 中 NewInstance 的替代方案是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45388032/
我们在Eclipse中有几个使用CDT(CodeSourcery++)的C项目。 有两个项目可构建库,以供构建最终应用程序的“主”项目中使用。 现在我们发现重建其中一个库不会导致主项目也被重建。显然,
一些背景: 我正在为一个包含 Android 应用程序的大型项目使用 MSBuild 开发持续集成管道。该应用程序包括一些需要定期集成到项目中的自动生成的文件。这通常是通过手动复制它们并在 andro
众所周知,二进制文件取决于obj,而obj取决于.c文件(假定为C项目)。假设我有一个env.mk文件。该文件具有“export NO_DISPLAY = YES”之类的标志。在主Makefile中,
https://www.jetbrains.com/help/idea/compilation-types.html?search=rebuild 根据复杂类型的描述,重建项目会重新编译所有源文件,并
我在 xp 中运行 vs08,试图测试我已经研究了一段时间的 c++ 解决方案。 该解决方案由多个项目组成,我正在处理的两个项目分别包含服务器和客户端。我构建了服务器和客户端项目的调试实例来测试它们之
我成功安装了 MINGW32 和 CMake,并重建了 OpenCV 2.3.2( super 包)。但是 V2.4.2 不是 superpak 并且不具有 V2.3.1 具有的所有文件。我尝试重建的
这可能看起来很愚蠢,但我删除了其中一个节点上数据目录 (/var/lib/scylla/data/*) 中的所有内容。现在,为了恢复数据,我可以运行 nodetool repair 或 nodetoo
当我滚动到 ListView 的底部时,底部的项将被重建。当我滚动到顶部时,我的第一个项目被重建。第一项是带有可选筹码的卡,这种筹码在发生这种情况时会被取消选择。并且“入口”动画也会重播。我该如何阻止
我知道 docker 有一个 --no-cache=true 选项来强制干净地构建 docker 镜像。然而,对我来说,我真正想做的就是强制最后一步在我的 dockerfile 中运行,这是一个运行
这几天在做SQL调优,在测试的时候发现了一个奇怪的sql: SELECT StatMan([SC0],[SC1], [SB0000]) FROM (SELECT TOP 100 PERCENT [SC
为什么重建失败但没有错误? 从今天早上开始,这个错误不断出现。我构建了整个解决方案(25 个 C# 管理的项目)并出现“全部重建失败”,但没有任何错误! (我有 13 个关于 COM 不支持泛型的警告
我正在使用 Gitlab CI 来存储和部署 docker 镜像,但我遇到了一个大问题。 Gitlab CI 会在每次提交时重建所有图像。 第一步是构建我的常用镜像,大约需要 8 分钟。目前我只修改子
我有一个使用库(DPK/视觉控件)的程序。该库是在 Debug模式下编译的。这意味着优化是关闭的,范围检查是打开的,等等。库设置为“根据需要重建”。我不打算重新分发它(仅供内部使用)。 如果我在“发布
我正在测试 Electron 和串口模块的使用…… 当我运行 electron .命令,出现此错误: The module '…/teste3/node_modules/@serialport/bin
我需要将新生成的 apk 复制到远程机器上,所以目前我在桌面上有一个图标,它会触发 Python 脚本。 我希望这个脚本在重建项目成功后被 Android Studio 自动调用。 我怎样才能做到这一
所以我建立了我的第一个应用程序。这是一个天气应用程序。到目前为止,一切都按预期进行。但是有一个问题,每当我关闭应用程序然后重新打开它时,所有内容都为空(天气预报,位置名称,最高和最低温度)。当我按下刷
我收到命令 drush cache-rebuild 的[错误]找不到驱动程序 以下是 Drush 和 Drupal 版本详细信息,感谢任何帮助。谢谢 最佳答案 我将 wampp 与 PostgreSQ
我刚刚发现(困难的方式),如果您在从 Visual Studio 执行“重建”或“清理 -> 构建”后将应用程序部署到设备,您的应用程序将首先被卸载,然后重新安装,从而导致隔离存储文件被删除。 应用程
如何构建库(静态库或 dll/so),使其对系统的 C 运行时库的 future 更新不敏感? 7月底,微软updated一堆库,包括 C 运行时库。我们的应用程序是使用 MFC/C++/VB 和一些
在我的项目中,我有 2 个模块:app 和 library。当我在 Android Studio 3.0.1 中运行 Rebuild 时,会运行 3 个 gradle 任务: 干净 :library:
我是一名优秀的程序员,十分优秀!