国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Duktape:一個(gè)新的小巧的超精簡(jiǎn)可嵌入式JavaScript引擎

jeyhan / 2944人閱讀

摘要:是一個(gè)可嵌入的引擎,主要關(guān)注便攜性和精簡(jiǎn)及緊湊性。很容易集成到項(xiàng)目添加和到您的中,并使用從代碼中,調(diào)用代碼的功能,反之亦然。

Duktape是一個(gè)可嵌入的Javascript引擎,主要關(guān)注便攜性和精簡(jiǎn)及緊湊性。
Duktape很容易集成到C/C++項(xiàng)目: 添加duktape.c和duktape.h到您的build中,并使用Duktape API從C代碼中,調(diào)用ECMAScript代碼的功能,反之亦然。

主要特性:

嵌入式,便攜,小巧:
200kB的代碼
46KB RAM啟動(dòng)(X86,默認(rèn)選項(xiàng))
22KB RAM啟動(dòng)(X86,lowmem選項(xiàng))
42kLoC源(不包括注釋等)
可以運(yùn)行在具有256kB的閃存和96KB RAM的系統(tǒng)平臺(tái)

ECMAScript的E5/ E5.1標(biāo)準(zhǔn),一些功能從E6草案借來的

內(nèi)置正則表達(dá)式引擎

內(nèi)置的Unicode支持

最小的平臺(tái)依賴性

結(jié)合"引用計(jì)數(shù)"和"標(biāo)記清除"的垃圾收集與回收機(jī)制

自定義功能,如協(xié)程,內(nèi)置日志框架,并內(nèi)置CommonJS的基礎(chǔ)模塊加載框架(注: 類似node.- js中的require/export)

使用ECMAScript ES6 Proxy對(duì)象實(shí)現(xiàn)的Property virtualization

自由許可證(MIT)

目前狀態(tài): 穩(wěn)定

技術(shù)支持:

用戶社區(qū)Q&A: stackoverflow duktape 標(biāo)簽
漏洞和新功能要求: GitHub Issues
一般討論: IRC #duktape on chat.freenode.net

如何使用 1. 添加到編繹系統(tǒng)

添加 Duktape C 源文件和頭文件到你的build。任何build系統(tǒng)均可支持. 發(fā)行包里有一個(gè)Makefile的范例作為參考. 下面是一個(gè)簡(jiǎn)單的例子:

$ gcc -std=c99 -o test test.c duktape.c -lm
$ ./test
Hello world!
2 初始化上下文(context)

初始化并在你的程序中使用Duktape

/* test.c */
#include "duktape.h"

int main(int argc, char *argv[]) {
  duk_context *ctx = duk_create_heap_default();
  duk_eval_string(ctx, "print("Hello world!");");
  duk_destroy_heap(ctx);
  return 0;
}
3 添加C語言函數(shù)綁定(function bindings)

在Ecmascript(JavaScript)代碼中調(diào)用C語言的函數(shù),首先要聲明你的C函數(shù):

int adder(duk_context *ctx) {
  int i;
  int n = duk_get_top(ctx);  /* #args */
  double res = 0.0;

  for (i = 0; i < n; i++) {
    res += duk_to_number(ctx, i);
  }

  duk_push_number(ctx, res);
  return 1;  /* one return value */
}

注冊(cè)你的函數(shù), 例如,放到global對(duì)象中:

duk_push_global_object(ctx);
duk_push_c_function(ctx, adder, DUK_VARARGS);
duk_put_prop_string(ctx, -2 /*idx:global*/, "adder");
duk_pop(ctx);  /* pop global */

然后你就可以在Ecmascript中調(diào)用這個(gè)函數(shù):

duk_eval_string(ctx, "print("2+3=" + adder(2, 3));");
duk_pop(ctx);  /* pop eval result */

via ourjs
原文

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/87670.html

相關(guān)文章

  • javascript功能插件大集合,寫前端的親們記得收藏

    摘要:一個(gè)專注于瀏覽器端和兼容的包管理器。一個(gè)整合和的最佳思想,使開發(fā)者能快速方便地組織和編寫前端代碼的下一代包管理器。完全插件化的工具,能在中識(shí)別和記錄模式。健壯的優(yōu)雅且功能豐富的模板引擎。完整的經(jīng)過充分測(cè)試和記錄數(shù)據(jù)結(jié)構(gòu)的庫。 【導(dǎo)讀】:GitHub 上有一個(gè) Awesome – XXX 系列的資源整理。awesome-javascript 是 sorrycc 發(fā)起維護(hù)的 JS 資源列表...

    cfanr 評(píng)論0 收藏0
  • javascript功能插件大集合 前端常用插件 js常用插件

    摘要:轉(zhuǎn)載來源包管理器管理著庫,并提供讀取和打包它們的工具。能構(gòu)建更好應(yīng)用的客戶端包管理器。一個(gè)整合和的最佳思想,使開發(fā)者能快速方便地組織和編寫前端代碼的下一代包管理器。很棒的組件集合。隱秘地使用和用戶數(shù)據(jù)。 轉(zhuǎn)載來源:https://github.com/jobbole/aw... 包管理器管理著 javascript 庫,并提供讀取和打包它們的工具。?npm – npm 是 javasc...

    netmou 評(píng)論0 收藏0
  • javascript功能插件大集合 前端常用插件 js常用插件

    摘要:轉(zhuǎn)載來源包管理器管理著庫,并提供讀取和打包它們的工具。能構(gòu)建更好應(yīng)用的客戶端包管理器。一個(gè)整合和的最佳思想,使開發(fā)者能快速方便地組織和編寫前端代碼的下一代包管理器。很棒的組件集合。隱秘地使用和用戶數(shù)據(jù)。 轉(zhuǎn)載來源:https://github.com/jobbole/aw... 包管理器管理著 javascript 庫,并提供讀取和打包它們的工具。?npm – npm 是 javasc...

    Hydrogen 評(píng)論0 收藏0
  • JavaScript 資源大全中文版

    摘要:官網(wǎng)全新的靜態(tài)包管理器。官網(wǎng)一個(gè)整合和官網(wǎng)的最佳思想,使開發(fā)者能快速方便地組織和編寫前端代碼的下一代包管理器。官網(wǎng)小巧的兼容的所見即所得的富文本編輯器。官網(wǎng)富文本編輯器。官網(wǎng)由制作,適用于每天寫作的富文本編輯器。 1. 包管理器 管理著 javascript 庫,并提供讀取和打包它們的工具。 npm:npm 是 javascript 的包管理器。官網(wǎng) cnpm:cnpm 是 由于國(guó)...

    jzman 評(píng)論0 收藏0
  • 國(guó)外程序員整理的Java資源大全

    摘要:日期和時(shí)間處理日期和時(shí)間的函數(shù)庫。使用中可觀察序列,創(chuàng)建異步基于事件應(yīng)用程序的函數(shù)庫。為分布式系統(tǒng)提供延遲和容錯(cuò)處理。發(fā)布使用本機(jī)格式分發(fā)應(yīng)用程序的工具。將程序資源和打包成和的本機(jī)文件。圖像處理用來幫助創(chuàng)建評(píng)估或操作圖形的函數(shù)庫。 好資源要分享原文 譯者 唐尤華 翻譯自 github akullpp 構(gòu)建 這里搜集了用來構(gòu)建應(yīng)用程序的工具。 Apache Maven:Mave...

    chengtao1633 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

jeyhan

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<