我的目标是使用C库构建Web应用程序。
我选择使用"SWIG"工具来实现这一目标。 Swig工具需要三个东西:
定义所有函数的
.c
文件。也称为接口文件的
.i
文件,它创建了接口以加载API,其中我使用了extern
关键字。用Javascript扩展(
.js
文件)编写的APP。
我使用SWIG工具编译和运行此应用程序,以验证.js
文件是否正确制作。
该应用程序在XMING X11窗口上运行良好。
编译时会创建_wrap.o
、.o
文件和libFILENAME.so
。
现在我想在浏览器页面上运行此应用程序。
为此,我使用了webkit clutter端口,它为我们提供了MxLauncher代码。
我正在使用webkit_iweb_view_load_uri(WEBKIT_IWEB_VIEW(view), "filename.html");
API将我的html文件加载到我的网页视图中运行该Javascript。
我链接了在编译时创建的.so
。
错误消息:JS CONSOLE: file:///filename.js: ReferenceError: Can't find variable: example
filename.c
int gcd(int x, int y) `enter code here`{
int g;
g = y;
while (x > 0) {
g = x;
x = y % x;
y = g;
}
return g;
}
filename.i
%module example
extern int gcd(int x, int y);
filename.js
x = 42;
y = 105;
g = example.gcd(x,y);
如何实现我的目标?