Openlayer3之C++接口在javaScript的包装使用

0.描绘在前头:

1)涉及的首要词定义:

传入:JavaScript向CAPI传值

传出:CAPI向JavaScript传值

 

2)关于类以及结构体的包,需要严格执行内存对同步,以防范读取越界,但是避免不了时会面遇上长度不肯定的高频组、字符串等,比较麻烦。所以我们采用的技术方案是用类似打平成CAPI的措施展开包装,如下示例:

示例类:

C++ 1

打平成CAPI:

C++ 2

以.Net、Java、JavaScript等包裹中重复还原成类

C++ 3

 

1.基本功项目

于参数传入、返回值传出时,两限可以一直对应。类似之生指针、int、double等,bool类型一般采取int来对号入座,字符串传入可以一直动用string与char*相应,如下示例:

JS:

C++ 4

CAPI:

C++ 5

 

2.基本功项目在参数中盛传

CAPI:

C++ 6

JS:

1)引用ref模块

C++ 7

2)定义int指针、double指针

C++ 8

3)函数声明

C++ 9

4)封装

C++ 10

 

3.字符串传出

不建议在回值备受使用char*跟string进行对应,测试着发觉好出现char*内存为放走string成乱码的题目,使用如下方法比较保险:

CAPI:

C++ 11

JS:

1)引用ref模块

C++ 12

2)函数声明

C++ 13

3)封装

C++ 14

 

4.数组

CAPI:

C++ 15

JS:

1)引用ref和ref-array模块

C++ 16

2)定义double数组

C++ 17

3)函数声明

C++ 18

4)封装

C++ 19

5.指南针在参数中传

以其实的包中相遇参数传出指针的状态,我们利用如下图方式展开包装:

CAPI:

C++ 20

JS:

1)引用ref模块

C++ 21

2)函数声明

C++ 22

3)封装

C++ 23