zoukankan      html  css  js  c++  java
  • Openlayer3之C++接口在javaScript的封装使用

    0.写在前面:

    1)涉及的关键词定义:

    传入:JavaScript向CAPI传值

    传出:CAPI向JavaScript传值

    2)关于类和结构体的封装,需要严格执行内存对齐,以防止读取越界,但是避免不了经常会遇到长度不定的数组、字符串等,比较麻烦。所以我们采用的技术方案是将类打平成CAPI的方式进行封装,如下示例:

    示例类:

    打平成CAPI:

    在.Net、Java、JavaScript等封装中再还原成类

    1.基础类型

    在参数传入、返回值传出时,两边可以直接对应。类似的有指针、int、double等,bool类型一般使用int来对应,字符串传入可以直接使用string与char*对应,如下示例:

    JS:

    CAPI:

    2.基础类型在参数中传出

    CAPI:

    JS:

    1)引用ref模块

    2)定义int指针、double指针

    3)函数声明

    4)封装

    3.字符串传出

    不建议在返回值中使用char*和string进行对应,测试中发现容易出现char*内存被释放string成乱码的问题,使用如下方法比较保险:

    CAPI:

    JS:

    1)引用ref模块

    2)函数声明

    3)封装

    4.数组

    CAPI:

    JS:

    1)引用ref和ref-array模块

    2)定义double数组

    3)函数声明

    4)封装

    5.指针在参数中传出

    在实际的封装中遇到参数传出指针的情况,我们使用如下图方式进行封装:

    CAPI:

    JS:

    1)引用ref模块

    2)函数声明

    3)封装

  • 相关阅读:
    C# 类型的创建
    C# 中4个访问符和8个修饰符详解
    C#命名空间详解namespace
    ContextMenuStrip 添加在窗体。点击右键不能显示问题解答
    C# 学习笔记 C#基础
    React-Navigation web前端架构
    Css animation 与 float 、flex 布局问题
    javaScript 工作必知(十一) 数组常用方法实现
    Vue 父子组件传值 props
    kafka 参数配置 1
  • 原文地址:https://www.cnblogs.com/yejianyong/p/7756614.html
Copyright © 2011-2022 走看看