问题标签 [google-nativeclient]
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.
javascript - 浏览器中的 Ruby
我正在寻找下一个问题的解决方案:现在我正在开发一个 Rails 应用程序。我希望有可能在浏览器中用 Ruby 编写代码,然后在我的 Rails 应用程序中执行该代码。
有现成的解决方案吗?
升级版:
- 代码高亮呢?
- 原生客户端呢?
gdb - 是否可以软件破坏 GDB 中的 Native Client 应用程序并继续执行?
有没有人有使用 这里描述的 Windows Native Client 调试器调试 Native Client 应用程序的经验?
我正在尝试在应用程序代码中触发软件断点或异常,这将在触发它的源行停止附加和运行的 GDB 并能够继续执行。
我可以通过创建非法地址异常来做到这一点,例如:
它确实会在使用定义的地方进入调试器:
但是我似乎无法使用跳转命令继续执行以跳过断行(使用下一个源代码行或汇编地址)。在继续之前,我是否需要确认或清除分段错误?
有谁知道是否可以使用非法地址异常继续执行?或者是否可以使用其他方法,例如引发软件异常 (EXC_SOFTWARE)?任何帮助或建议将不胜感激。
(顺便说一句,这是我第一篇关于堆栈溢出的帖子,所以如果我在这篇帖子中没有遵守任何礼仪,我深表歉意。)
非常感谢,
安迪
javascript - Native Client 模块可以渲染由 C++ 代码生成的 HTML 吗?
我有一些处理输入文件并输出 HTML 和/或 SVG 的数据分析代码。它是 C++ 和 CPU 密集型的。
我想创建一个浏览器插件,这样我的代码就可以在不离开浏览器的情况下使用。Google 的 Native Client 框架和 Pepper API 听起来很有趣,但可能限制性太强了。从 Native Client 模块是否可以通过 Pepper 执行以下操作?
访问用户文件系统上的本地文件。我知道 NaCl 沙箱通常会阻止这种情况,但肯定有办法将用户选择的文件从 Javascript 层传递到 NaCL 中?
将 HTML 或 SVG 输出回浏览器。C++ 有什么方法可以修改包含文档的 DOM?
ide - 我应该为 Google 的 Native Client 使用哪个 IDE?
我打算试用 Google 的 NaCL。我应该使用哪个 IDE 进行开发?如果能够从 IDE 编译项目并在 Chrome 中运行它,那就太好了。一些基本的调试也会非常有用。
javascript - Chrome Native Client,使用 onKeyDown 事件时出错
我正在尝试运行一个非常基本的 Chrome Native Client 应用程序。我想做的是响应击键,例如每当用户按下一个键时显示“你按下了 X”。我一整天都在做,但是每次我按下一个键,我都会得到“ Uncaught TypeError: Object # has no method 'postMessage' ”。
错误都在Javascript中;Native Client C++ 模块工作正常。
文档头部的 Javascript:
在页面中:
我已经尝试了大约 15 种不同的方法:使用 addEventListener 将其添加到 body 标签中,使用 onKeyDown 将其直接添加到 body 标签中……没有任何效果。
我有 C/C++ 和 PHP 的经验,但我的 Javascript 真的很弱。我想我一定遗漏了一些基本而明显的东西。
assembly - 如何解释 ncval 的输出?
我正在尝试将一些软件移植到本机客户端。出于速度原因,它在代码中的多个位置使用了一些内联汇编。(其中大多数都是非常简单的单行代码,它们非常简单,应该被认为是安全的。)
我得到了要编译和链接的项目,但目前它未能通过 Chrome 的代码分析。Ncval 输出以下内容:
但我真的不知道这个输出是什么意思。我可以看到它至少发现了一条非法指令。我做了一个client_x86_32.nexe的objdump,我试图根据ncval的输出找出非法指令的地址是什么,但我做不到,因为我不知道如何计算它ncval 输出。
欢迎任何帮助。
(与此同时,我将开始从代码中删除 asm 块,并希望我能找到有问题的块,以便我可以更正它以确保安全。)
google-chrome-extension - NaCl 应该在未打包的扩展中默认启用,但我不能从一个
“NaCl 目前仅默认打开 Chrome Webstore 中的应用程序/扩展程序,或用于开发目的的解压扩展程序。” - 互联网
然而,我似乎无法从未打包的扩展中使用 NaCl。(我没有尝试过网上应用店。)
我有一个非常简单的测试扩展,它的 background.js 中有以下内容:
当在 chrome://flags 中启用 NaCl 时,此扩展报告 true,但在 chrome://flags(这是默认设置)中禁用 NaCl 时,它报告 false。
我希望它报告真实。
我错过了什么?
更新:
似乎发明我自己的检测代码毕竟不是一个好主意。如果我创建并安装了一个指向 url X 的解压 chrome webapp,那么 NaCl 将在该页面上运行,但此检测代码仍会报告错误,而在 chrome 中启用 NaCl 的普通网页上,同样的代码会报告 true: //标志。
但是,如果在指向 url X 的 iFrame 中创建一个使用 NaCl 的扩展程序(不是 chrome webapp),那么 NaCl 将无法在其中工作。
但是,如果我创建一个指向 url X 的 webapp 和一个在 iFrame 中使用 url X 的扩展,那么如果同时安装,两者都可以工作。
Update2: 如果我真的在扩展中包含了 nmf 和 nexe,那么它就可以工作。
更新 3: nexe 不需要包含在扩展中。
google-nativeclient - 示例在 Google NaCl rev 18 中不起作用
我正在尝试使用最新的 Google NaCl SDK。按照https://developers.google.com/native-client/pepper18/devguide/tutorial上的说明进行操作
我从他们的网站下载了 naclsdk 工具,运行更新,得到了一个 pepper_18 文件夹。
我将 NACL_SDK_ROOT 设置为 pepper_18 文件夹,进入“示例”并运行 make。一切似乎都编译得很好。
我启动了 Chrome,查看了 about: flags 和 about: plugins,并验证了 NaCl 已启用。我安装了 SDK 示例应用程序(来自:https ://developers.google.com/native-client/pepper18/sdk/examples ),效果很好。
然后我尝试运行本地构建和托管的示例,转到http://localhost :5301。HTML 加载正常,但 NaCl 内容不加载。在 hello world 示例中,它永远显示“状态:正在加载...”。
我仔细检查了 HTTP 服务器日志,没有看到任何错误。还有其他地方我应该寻找记录的错误吗?
c++ - 从无到有构建 Native Client 应用程序
从头开始构建 Native Client 应用程序需要什么?我查看了文档,并摆弄了几个应用程序,但是,我现在开始制作自己的应用程序,我没有看到任何与创建本机客户端应用程序的基础相关的内容。
google-chrome - Google Chrome Native Client 与插件或扩展的比较
我是 Native Client 的新手;也是插件/扩展的新手。让我印象深刻的是插件/扩展在某些方面比 NaCl“更好”:
可以在任何地方/任何方式编译插件/扩展以生成普通的旧 DLL 或 .so;NaCl 需要仅由 NaCl 工具链生成的二进制文件。
插件/扩展可以跨浏览器移植(例如,它应该在 FIrefox 等以及 Chrome 中运行)。这是因为插件/扩展遵循 Netscape 3 中引入的事实上的标准。
如果这一切都是真的,那么 NaCl 相对于插件/扩展的优势是什么?