TypeCodes

在UEStudio/UltraEdit中打造C/C#/JAVA等语言的编译器

像Emacs、Vim、UEStudio/UltraEdit、Sublime text等非IDE类的文本编辑器,都不会自带某种语言的编译功能,这对于不想开IDE的程序狗来说很是蛋疼。尤其是需要切换到不同语言做开发时,非常不方便,总不能这边开一个VS,那边开一个Eclipse吧。于是自己折腾了一番,通过配置可以在UEStudio或者UltraEdit中直接将写好的C/C++/C#/JAVA等代码编译并运行输出结果。

在UEStudio/UltraEdit中打造C/C#/JAVA等语言的编译器

1 实现思路

要实现直接在UEStudio或者UltraEdit中编译和执行的功能,原理很简单:利用本机已经安装并配置好的环境变量然后在UEStudio或者UltraEdit中简单配置即可。因此,首先需要在自己的Windows环境中安装这种语言所对应的编译器。例如,要编译C或者C++程序,那么可以选择MinGw GCC或者Cygwin GCC编译器,然后利用gcc和g++编译和执行功能;又例如,要编译Java程序,那么的先安装好JDK编译器。注意,安装后一定要设置好环境变量!下图是我的环境变量配置情况(红色划线1,2,3分别是C/C++、Java和C#的环境变量配置):

对应语言的环境变量的配置

2 具体配置

下面以配置C/C++、C#、Java这三种开发语言的编译器为例,大家可以举一反三。

2.1 配置C/C++编译器

从上图的环境变量配置可知,博主安装的C/C++编译器是MinGw GCC。首先打开UEStudio或者UltraEdit编辑器,在顶部菜单栏依次点击“高级”--“工具栏配置”--“插入”。配置C/C++编译器如下图的界面所示,只要在这里按照规则配置好C/C++的编译命令即可。

C/C++的编译命令配置
1 菜单项目名称:  Ccomp   [可以任意]
2 命令       :  g++ -Wall %n%e -o %n   或者   gcc -Wall %n%e -o %n
3 工作目录    :  %p    [%p是当前C/C++程序文件的路径]

配置C/C++编译器

2.2 配置C#编译器

配置C#编译器如下图的界面所示,只要在这里按照规则配置好C#的编译命令即可。

C#的编译命令配置
1 菜单项目名称:  C#comp   [可以任意]
2 命令       :  csc/out:%n.exe %n%e    [%n是当前C#程序文件名 %e是文件后缀名]
3 工作目录    :  %p    [%p是当前C#程序文件的路径]

配置C#编译器

2.3 配置C/C++和C#的运行命令

由于C/C++和C#经过上面的编译命令后,生成的是可执行的二进制exe文件,所以它们的执行命令都是相同的。因此,可以配置一个公共的“Run”栏目:

C/C++/C#的运行命令配置
1 菜单项目名称:  Run   [可以任意]
2 命令       :  %n.exe    [%n是可执行文件名]
3 工作目录    :  C:\Users\vfhky\Desktop  [可执行文件的路径]

配置C/C++和C#的运行命令

2.4 配置Java编译器

配置Java编译器如下图的界面所示,只要在这里按照规则配置好Java的编译命令即可。

JAVA的编译命令配置
1 菜单项目名称:  Jcomp   [可以任意]
2 命令       :  javac %n%e    [%n是当前java程序文件名 %e是文件后缀名]
3 工作目录    :  %p    [%p是当前JAVA程序文件的路径]

配置Java编译器

2.5 配置Java的执行命令

由于Java程序文件经过上面的Jcomp编译命令后,生成的是.class文件,不可以直接运行。还需要将这个.class文件通过命令在JVM虚拟机下运行。

JAVA的运行命令配置
1 菜单项目名称:  Jrun   [可以任意]
2 命令       :  java %n    [%n是当前JAVA程序文件名]
3 工作目录    :  %p    [%p是当前JAVA程序class文件的路径]

配置Java的执行命令

3 通过程序测试是否生效

配置完后,点击“高级”栏目,会显示如下图所示。最后写如下3个C、C#和Java的测试程序,然后分别点击对应的上面配置好的“编译”命令,再点击“执行”命令即可查看输出结果。

3.1 测试C/C++程序

依次点击“高级”--“Ccomp”--“Run”命令,最后结果如下所示:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
/**
 * @Functions:  在UEStudio/UltraEdit中编译C/C++程序并输出结果
 * @Author   :  vfhky  https://typecodes.com  2015.02.01
 * @FileName :  UEStudioCCompiler.c
 */
#include <stdio.h>

int main( int argc, char * argv[] )
{
    printf( "Tutorial to useing UEStudio compiling C/C++ program!\n" );
    return 0;
}
3.2 测试C#程序

依次点击“高级”--“C#comp”--“Run”命令,最后结果如下所示:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
/**
 * @Functions:  在UEStudio/UltraEdit中编译C#程序并输出结果
 * @Author   :  vfhky  https://typecodes.com  2015.02.01
 * @FileName :  UEStudioCSharpCompiler.cs
 */
using System;
using System.Text;

public class UEStudioCSharpCompiler
{       
    public static void Main( String[] args )
    {
        Console.WriteLine( "Tutorial to useing UEStudio compiling C# program!" );
    }
}
3.3 测试Java程序

依次点击“高级”--“Jcomp”--“Jrun”命令,最后结果如下所示:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
/**
 * @Functions:  在UEStudio/UltraEdit中编译JAVA程序并输出结果
 * @Author   :  vfhky  https://typecodes.com  2015.02.01
 * @FileName :  UEStudioJavaCompiler.java
 */
public class UEStudioJavaCompiler
{
    public static void main(String args[])
    {
        System.out.println("Tutorial to useing UEStudio compiling Java program!");
    }
}
3.4 上面C、C#和Java程序执行结果

上面C、C#和Java程序执行结果

打赏支持

Comments »