编程(Programming)是编定程序的中文简称,就是让计算机代码解决某个问题,对某个计算体系规定一定的运算方式,使计算体系按照该计算方式运行,并最终得到相应结果的过程。为了使计算机能够理解(understand)人的意图,人类就必须将需解决的问题的思路、方法和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。这种人和计算体系之间交流的过程就是编程。
innative是一个用于WebAssembly的AOT编译器,可以创建与c语言兼容的二进制文件,既可以作为你可以动态加载的沙盒插件,也可以作为直接与操作系统对接的独立的可执行文件。
软件介绍
这允许webassembly模块参与C语言连接和构建过程,无论是静态的、动态的,还是访问主机操作系统的。运行时可以独立地安装在用户的机器上,也可以嵌入到你的程序中。它是高度可定制的,让你选择你所需要的功能、隔离级别和优化量,以满足你的用例。如果你发现了一个错误,或者你的程序无法在inNative上编译,直到我们实现一个特定的功能,请在GitHub上提交一个问题,以便我们能够跟踪开发人员的需求。
这是针对Windows和Linux的inNative的一个主要功能版本,主要是修复构建系统,使其在Linux上更加可靠。这是为了弥补由于LLVM不能在holybuildbox中工作而无法轻易为Linux构建可移植的二进制文件这一事实。因此,将不再提供Linux二进制文件,而应使用CMake从源代码进行编译。
Windows包括一个SDK和运行时软件包的安装程序,它安装和注册运行时以运行WebAssembly文件。然而,即使你下载了便携式压缩文件版本,你也可以随时用./innative-cmd.exe -i来安装它。
更新日志
废弃了Makefiles,转而使用CMake项目。(#33)
添加了#49 WASM指令执行计数器
添加了#26完全支持汇编脚本
增加了#20选项,可设置自定义启动函数
修正了#71处理调试信息时的边缘案例
修正了#72使用共享库时的绝对路径问题
修正了错误的llvm::Twine用法
改变了日志记录以使用回调函数
停止对内存密集的调试信息使用贪婪的分配器
修正了WAT解析过程中过多的内存使用
使用编程语言写的程序,由于每条指令都对应计算机一个特定的基本动作,所以程序占用内存少、执行效率高。