当前位置: 首页 > news >正文

网站建设公司成就营销推广公司案例

网站建设公司成就,营销推广公司案例,seo运营,有没有代做毕业设计的网站2.5 EM_ASM系列宏很多编译器支持在C/C代码直接嵌入汇编代码,Emscripten采用类似的方式,提供了一组以“EM_ASM”为前缀的宏,用于以内联的方式在C/C代码中直接嵌入JavaScript代码。2.5.1 EM_ASMEM_ASM使用很简单,只需要将欲执行的Ja…

2.5 EM_ASM系列宏

很多编译器支持在C/C代码直接嵌入汇编代码,Emscripten采用类似的方式,提供了一组以“EM_ASM”为前缀的宏,用于以内联的方式在C/C代码中直接嵌入JavaScript代码。

2.5.1 EM_ASM

EM_ASM使用很简单,只需要将欲执行的JavaScript代码置于参数中,例如:

#include <emscripten.h>

int main() {

EM_ASM(console.log('你好,Emscripten!'));

return 0;

}

上述代码将调用JavaScript方法console.log()输出“你好,Emscripten!”。

EM_ASM宏可以一次嵌入多条JavaScript语句,语句之间用分号分隔,例如:

EM_ASM(var k = 42;console.log('The answer is:', k););

将输出:

The answer is:42

嵌入的多条语句分行书写以及行尾注释也是可行的(分行书写时语句之间必须以分号分隔,不能省略),例如:

EM_ASM(

var k = 42; //define k

console.log('The answer is:', k);

);

EM_ASM宏只能执行嵌入的JavaScript代码, 无法传入参数或获取返回结果。

2.5.2 EM_ASM_/EM_ASM_DOUBLE

EM_ASM_支持输入数值类型的可变参数, 同时返回整数类型的结果。EM_ASM_宏嵌入的JavaScript代码必须放到{}包围的代码块中(以区隔代码与参数),且至少必须含有一个输入参数。嵌入的JavaScript代码通过$n访问第n+1个参数。下面的例子调用JavaScript计算了三个数值的和,并将结果返回:

int sum = EM_ASM_({return $0 + $1 + $2;}, 1, 2, 3);

printf("sum(1, 2, 3): %d\n", sum);

使用EM_ASM_宏嵌入JavaScript时,参数不仅可以是常数,也可以是变量,例如:

char buf[32];

double pi = 3.14159;

EM_ASM_(

{

console.log('addr of buf:', $0);

console.log('sqrt(pi):', $1);

},

buf, sqrt(pi)

);

上述代码将依次输出buf的地址以及pi的平方根。

EM_ASM_DOUBLE用法与EM_ASM_基本一致,区别是EM_ASM_DOUBLE返回值为double。例如:

double pi2 = EM_ASM_DOUBLE(

{

return $0 * $1;

},

pi, 2.0

);

printf("pi2: %lf\n", pi2);

EM_ASM_/EM_ASM_DOUBLE宏中嵌入的JavaScript代码会被展开为一个独立的JavaScript方法,因此在嵌入的JavaScript中除了用$n之外,也可以用内置的arguments对象来访问参数,例如:

EM_ASM_(

{

console.log('arguments count:', arguments.length);

for(var i = 0; i < arguments.length; i++) {

console.log('$', i, ':', arguments[i]);

}

},

42, 13

);

上述代码将输出:

arguments count: 2

$ 0 : 42

$ 1 : 13

2.5.3 EM_ASM_INT_V/EM_ASM_DOUBLE_V

如果嵌入的JavaScript代码不需要参数,可以使用EM_ASM_INT_V/EM_ASM_DOUBLE_V宏。由于没有参数,嵌入的代码无需用{}包围,例如:

int answer = EM_ASM_INT_V(return 42);

printf("The answer is:%d\n", answer);

double pi_js = EM_ASM_DOUBLE_V(return 3.14159);

printf("PI:%lf\n", pi_js);

本节例子的输出如下:

http://www.mnyf.cn/news/43553.html

相关文章:

  • 用html5做网站的心得体会seo关键词排名优化联系方式
  • 免费网站发布怎么做的五个成功品牌推广案例
  • 做市场的逛的网站什么是网络营销工具
  • 约么同城实时定位搜索引擎东莞整站优化排名
  • 手机网站自适应分辨率网站统计
  • 惠州仲恺住房和城乡建设局网站sem百度竞价推广
  • 竞价网站如何设计腾讯企业qq官网
  • Wordpress隐藏文字内容苏州首页关键词优化
  • 做金融类网站信息如何优化上百度首页公司
  • 哈尔滨网站建设运营湖北百度推广公司
  • 防水网站建设舆情监测系统
  • 时时彩网站做号百度竞价关键词查询
  • 搞笑资讯网站源码关键词点击排名系统
  • 注册公司需要多少钱手续费seo网站的优化流程
  • 做网站秒杀软件用什么语言好全网营销平台
  • 怎么做网站卖空间怎么被百度收录
  • 电商网站改版方案百度手机助手最新版下载
  • 视频播放网站开发的报告5118网站查询
  • 企业门户网站建设方案书软件开发一般需要多少钱
  • 国际网站推广专员招聘下载班级优化大师并安装
  • 武汉新公司做网站|武昌专业做网站--武汉金宇盈科技有限公司阿里指数查询
  • 做网站上传电子书重庆seo整站优化外包服务
  • 网站logo模板成人电脑培训班附近有吗
  • 5个常见的电子商务网站制作网页教程
  • 做公司网站都需要哪些东西站长之家网站介绍
  • c语言做网站的代码企业网站策划
  • 日本二手手表网站域名查询大全
  • 光明新区住房和建设局 官方网站竞价账户
  • 住房和建设局win7优化大师免安装版
  • 个人养老保险怎么买合适惠州抖音seo