标签: google-nativeclient

谷歌镀铬扩展与NPAPI转移到NaCl

我最近开发了一个google chrome扩展程序,它使用了使用FireBreath框架制作的NPAPI插件.我刚刚发现谷歌将很快停止使用这些类型的插件,并最终禁止使用它们的所有现有扩展.所以,我想最终转向NaCl/PPAPI架构,但我不确定这个架构是否甚至可以支持我目前在NPAPI插件中所做的工作.

在我目前的NPAPI插件中,我支持OSX和Windows.在OSX版本上,插件执行system()函数,该函数执行一个小的1行AppleScript.它看起来像这样:

osascript -e 'tell app ... 
Run Code Online (Sandbox Code Playgroud)

在Windows版本上,它执行COM库中的函数.两个版本最终都做了同样的事情.我有另一个选择是执行python脚本,如果我要走这条路线,我很可能想在本机组件中嵌入python.

用NaCl/PPAPI可以解决这些问题吗?

npapi google-chrome-extension google-nativeclient firebreath ppapi

5
推荐指数
2
解决办法
2165
查看次数

C++在const char*和const char []之间的区别

我读了一个关于以下区别的问题:

const char*
Run Code Online (Sandbox Code Playgroud)

const char[]
Run Code Online (Sandbox Code Playgroud)

虽然有一段时间,我虽然数组只是指针的语法糖.但有些事情让我烦恼,我有一些类似于以下的代码:

namespace SomeNamespace {
    const char* str = { 'b', 'l', 'a', 'h' };
}
Run Code Online (Sandbox Code Playgroud)

我得到,错误:缩放器对象'str'在初始化器中需要一个元素.所以,我试过这个:

namespace SomeNamespace {
    const char str[] = { 'b', 'l', 'a', 'h' };
}
Run Code Online (Sandbox Code Playgroud)

它起作用,起初我认为这可能与以下事实有关:当它是一个const char*时应用额外的操作,并且GCC从不是在函数外执行的操作的粉丝(这无论如何都是不好的做法),但错误似乎并不是这样.但是在:

void Func() {
    const char* str = { 'b', 'l', 'a', 'h' };
}
Run Code Online (Sandbox Code Playgroud)

它按预期编译得很好.有谁知道为什么会这样?

x86_64/i686-nacl-gcc 4(.1.4?)pepper 19工具 - 链(基本上是GCC).

c++ gcc char google-nativeclient c++11

4
推荐指数
1
解决办法
1490
查看次数

检测Chrome NaCl是否可用

有没有办法检测当前浏览器上是否有NaCl?

chrome.app.isInstalled在某些非Chrome浏览器上,检查似乎变成了误报

javascript google-chrome google-nativeclient google-chrome-app

4
推荐指数
1
解决办法
731
查看次数

我应该将哪个IDE用于Google的Native Client?

我打算试用Google的NaCL.我应该使用哪个IDE进行开发?能够从IDE编译项目并在Chrome中运行它会很不错.一些基本的调试也非常有用.

ide google-nativeclient

3
推荐指数
1
解决办法
1346
查看次数

从零开始构建Native Client应用程序

从头开始构建Native Client应用程序需要什么?我查看了文档,并摆弄了几个应用程序,但是,我现在正在制作自己的应用程序,我没有看到任何与创建本机客户端应用程序的基础相关的内容.

c++ scons google-nativeclient

3
推荐指数
1
解决办法
1260
查看次数

Google NaCl是否支持使用C++ 11编译器的异常?

谷歌NaCL至少带有两个C++编译器:一个非常古老的gcc版本,以及一个非常新的clang版本.gcc版本不支持C++ 11,所以我宁愿不使用它.新的clang编译器生成中间代码,然后在浏览器中编译,或者将其编译为本机代码.我尝试了第一种方法:让Chrome在浏览器中编译它.问题:异常不起作用,我需要它们.我检查过这个,但我真的无法理解这张票的细则.这留下了第二种方法:在部署之前将代码编译为本机...问题:我可以使用异常吗?或者我应该放弃任何希望?

(... Go Go和this之后,我的印象是Google工程师真的讨厌例外......)

c++ google-nativeclient c++11

3
推荐指数
1
解决办法
1154
查看次数

hello_tutorial不使用pepper_29构建

在hello_tutorial目录中运行make.我收到一个错误:

nacl_sdk/pepper_29/toolchain/mac_x86_newlib/bin /../ lib/gcc/x86_64-nacl/4.4.3 /../../../../ x86_64-nacl/bin/ld:找不到-lppapi_cpp collect2 :ld返回1退出状态

我正在使用Mac.

任何的想法?

google-nativeclient

3
推荐指数
1
解决办法
545
查看次数

将unsigned char字符串从本机客户端模块发送到浏览器

在Chrome氯化钠扩展,加密从浏览器接收并应该返回通过密文数据PostMessage()我有在发送的数据类型的麻烦unsigned char*ciphertext.该PP ::瓦尔规范并没有提到关于数据的这种形式的东西.我尝试过转换unsigned char,std::string但没有找到合适的方法.我的代码片段如下:

if(action == "encryption")
    {
      pp::Var var_content = dict_message.Get("content");
      if (!var_action.is_string())
        return;
      std::string content = var_content.AsString();

      //encryption code starts here
      const char *password = "password";
      unsigned char key[EVP_MAX_KEY_LENGTH], iv[EVP_MAX_IV_LENGTH];
      int len = content.length()+EVP_MAX_BLOCK_LENGTH;
      unsigned char *ciphertext = (unsigned char*)malloc(len*sizeof(unsigned char));

      aes_init(password, (int)strlen(password), key, iv);
      len = encrypt((unsigned char*)(content.c_str()), (int)strlen(content.c_str()), key, iv, ciphertext);

      pp::Var var_reply(ciphertext);
      PostMessage(var_reply);
      free(ciphertext);
    }
Run Code Online (Sandbox Code Playgroud)

这将返回编译时错误:

crest.cc:55:15: error: calling a private constructor of …
Run Code Online (Sandbox Code Playgroud)

c++ google-chrome-extension google-nativeclient google-chrome-app

3
推荐指数
1
解决办法
239
查看次数

关于google-nacl的非常简单的问题

这是正确的,从胡椒18开始,我不需要scons构建系统来编译,而是使用gcc(nacl-versions)和makefile?

此外,生成的.nexe文件是否可以在任何平台上运行,而不仅仅是在编译的平台上,这是正确的吗?因此,例如,本机代码模块在mac os下开发和编译,并生成32位和64位nexe文件.网络服务器我将在linux上运行该模块,并仍然会执行32位和64位版本的模块?

c++ scons native-code google-nativeclient

2
推荐指数
1
解决办法
1866
查看次数

从NaCl代码访问HTML5 <canvas>

我有兴趣将我的HTML5 Canvas/JavaScript游戏移植到NaCl/C++,但我找不到任何好的NaCl样本源代码访问画布.有人能指点我几个样品吗?请注意,我只对标准2D画布感兴趣,不需要复杂的3D/OpenGL内容.谢谢!

c++ google-chrome google-nativeclient html5-canvas

2
推荐指数
1
解决办法
982
查看次数