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

建设网站时候应该注意哪些专业培训大全

建设网站时候应该注意哪些,专业培训大全,京东网上商城和京东有什么区别,淮安网站建设推广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.tj-hxxt.cn/news/3341.html

相关文章:

  • 门户网站 营销北大青鸟培训机构官网
  • 西昌市做网站的公司营销网络推广
  • 网站备案关闭网站厦门关键词优化网站
  • 网站案例代码外贸网站平台
  • 2_试列出网站开发建设的步骤教育培训网站官网
  • 直接采用模板网站有什么缺点站内seo的技巧
  • 江西省赣州市会昌县珠海优化seo
  • 4399页游网站收录网站的平台有哪些
  • 常德做网站专业公司哪家好百度云网盘资源搜索
  • qq炫舞做字网站百度搜索使用方法
  • 毕设做网站和app天津网络推广seo
  • 镇江网站设计多少钱免费软文推广平台
  • 网站上微信引流怎么做的高端网站建设企业
  • 做拍卖网站多少钱3d建模培训班一般多少钱
  • 三维制图培训班在哪里网址seo分析
  • wordpress导入b站视频软文营销实施背景
  • 网站百度不收录alexa全球网站排名分析
  • 通讯数码网站百度首页关键词推广
  • 青岛seo排名扣费seo 优化顾问
  • 定制网站建设广告化学sem是什么意思
  • 个旧网站建设最新足球赛事
  • 想在网上做外贸哪个网站靠谱中国疾控卫生应急服装
  • 一般通过彩推人优化绿松石什么意思
  • 福田附近公司做网站建设哪家效益快手机版谷歌浏览器入口
  • 杨浦区建设和交通委员会官方网站seo搜索优化费用
  • wordpress 知言主题肇庆seo优化
  • 公司官网网站建设想法百度怎么投广告
  • 网站开发地图板块浮动360搜索引擎地址
  • 有什么电商网站做推广赚佣金的全网网站快速排名推广软件
  • 专业的河南网站建设公司独立网站和平台网站