基于C#.NET的在线编译方法的应用与研究
摘要:在线编译给计算机语言类网上教学带来了便利。本文提出的基于c#的在线编译方法解决将网页上输入的源程序代码编译并执行,并将程序的运行结果在网页上输出的问题。
关键词:在线编译;源程序;文本模式;图形模式
中图分类号:tp311文献标识码:a文章编号:1007-9599 (2013) 07-0000-02
1引言
利用网络进行计算机语言类教学离不开编程的训练,在线编译不需要用户安装相应语言的编译环境,为学习者带来了便利。实现在线编译,有两个核心问题要解决,第一个问题就是如何把在网页上输入的源程序代码编译并执行;第二个问题是如何将程序的运行结果在网页上输出。本文利用asp技术生成动态交互式web页,基于c#实现c#语言的在线编译。
2在线编译的实现方法
在线编译主要是要建立一个流畅的c#语言编程环境,在整个过程中不需要学习者安装任何语
言的编译器,编译正确的代码可以执行并输出结果,并可下载代码,保存成c#源文件格式,在线编译执行流程如图1所示。
图1在线编译执行流程
2.1源程序的输入和读取
源程序的输入是通过对网站源码在线web表单的设计来实现的,具体解决方法就是提供一个文本框来输入c#源程序。因为编辑好的程序代码将以一个字符串的形式,作为所要编译的内容传送给编译器,编译器对此进行编译,并把编译的结果以一个字符串的形式返回。实现源代码显示的核心代码为:
2.2在线编译的实现
框架提供了icodecompiler编译器执行接口,csharpcodeprovider类实现此接口,并提供对c#代码生成器和代码编译器的实例访问,compilerparameters类用于调用编译器的参数,这为实现网页上的在线编译提供了极大的便利。
(1)命名空间的使用。c#所编写的程序代码在每个开头必须引用命名空间,如编程时使用最普遍的是using system。在实现的过程中主要应用的dedompiler和microsoft.csharp两个命名空间。因为在dedompiler命名空间中的compilerparameters类经过实例化后可以设置运行时所需要的编译参数。在microsoft.csharp命名空间中的csharpcodeprovider类经过实例化后,可以提供对c#代码生成器和代码编译器的实例访问。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论