如何将javascript代码编译为c++或java

JavaScript020

如何将javascript代码编译为c++或java,第1张

java是不能够编译C/C++文件的。他们原理完全不同。背后的运行机制也完全不一样。

C/C++源文件只能够用C/C++的编译器来编译。

以GCC编译器为例,整个编译可以分为四步。

第一步是预处理,包括语法检查等工作。

gcc -P abc.c

第二步由源程序生产汇编语言代码。

gcc -S abc.c

会生成abc.s文件,这个文件里就是汇编代码。

第三步编译器生成目标代码,一个源文件生成一个目标代码。

gcc -c abc.c

会生成abc.o

第四步连接器从目标代码生成可执行文件。

gcc abc.o

目标代码包括机器码和符号表(函数及变量名)。连接器的主要作用是通过符号表在库文件和其他模块中找到在目标代码中引入或未定义的符号(函数及变量名),将几个目标代码合成可执行文件。

其实 js本来就是前台脚本,把js文件编译成dll供页面调用也可以实行

方法:

1.在解决方案中添加一个新项目(类库:JSControl)

2.在新项目中添加要用的JS脚本(JScript1.js)

脚本的内容:

function testAlert() {

alert("Hello!")

}

3. 改变JScript1.js的属性,Build Action为Embedded Resource(嵌入的资源)

4.在JSControl项目的AssemblyInfo.cs文件添加一行:(注意

JSControl.JScript1.js,JSControl是js所在项目的命名空间)

//定义组件内的内嵌资源的元数据属性

[assembly: System.Web.UI.WebResource("JSControl.JScript1.js", "application/x-javascript")]

注意:这边要增加个引用:System.Web.dll

5. 项目中增加一个注册客户端脚本的类:

6.在网站项目中引用JSControl项目,编译后生成

JSControl.dll

7.在要调用脚本的页面注册JSControl.dll

<%@ Register Assembly="JSControl" Namespace="JSControl"

TagPrefix="zhi" %>

8.引用脚本