最近仔细试了下UltraEdit,发现这个软件可定制性太强了,由于汇编的编程需要并且一时兴起,就把它定制为能够适应多种语言而且可以方便编译运行的开发环境。
现在这个环境的功能为:
1. 支持ASM,C\C++,Java的语法加亮和一键编译
2. 能够一键运行,并且测出程序的运行时间和内存信息(这个就特别适合平时做ACM题目啦)
3. 能够一键清理编译产生的exe,class等。
4. 注意,如果路径或文件名中存在空格,则可能错误,暂时没仔细修改
详细效果见下图:

我们用“高级”菜单里的“工具配置”来增加我们自己的工具。如图:

打开以后出现一个对话框,里面有三个选项页面。分别是“命令”,“选项”,“输出”。如图



好,这些准备好之后下面开始配置。每个模块不会互相干扰,如果你不需要,可以随时跳过某个。
一.配置 汇编 ASM 环境:
UltraEdit默认不加亮汇编的。你可以自己编辑它目录下的wordfile.txt文件。或者直接用我压缩包里的wordfile.txt替换掉UltraEdit目录下的同名文件。
我用到的编译器是MASM V8。这里就不提供地址了。自己去百度或google吧。
随便安装到哪里后,比如我的是”D:\Crack\masm32”。下面出现这个地址也改成你们自己的安装地址。然后用记事本编辑bat文件夹里的“compilerasm.bat”批处理文件。这里把它贴出来,加上注释,方便大家修改。注意,// 的后面是注释,不要写到批处理文件里。
@echo off //关闭回显,显示起来好看点
set include=d:\crack\masm32\include;%include% //设置masm的include环境变量
set lib=d:\crack\masm32\lib;%lib% //设置masm的 lib 环境变量
set path=d:\crack\masm32\bin;%path% //设置 masm 的path 环境变量
if exist %1.exe del %1.exe //如果目标程序已经存在则删除它
if exist %1.obj del %1.obj //删除目标链接库
ml /c /coff /Zi /Fo %1.obj %1.asm //编译文件
if not exist %1.obj goto error //编译失败时跳转
if not exist %1.res goto pos1 //判断是否存在资源文件需要链接
Link /SUBSYSTEM:WINDOWS /DEBUG /DEBUGTYPE:CV /OUT:%1.exe %1.obj %1.res //链接
echo link with the resource file.
goto pos2
:pos1
Link /SUBSYSTEM:WINDOWS /DEBUG /DEBUGTYPE:CV /OUT:%1.exe %1.obj //链接
echo link without the resource file.
:pos2
del %1.obj //删除一些临时文件
del %1.ilk
del %1.pdb
if exist %1.exe goto success //判断是否链接成功
:error
echo 编译失败
goto over
:success
echo 编译成功
:over
然后在”工具配置”里增加一个工具。
在命令选项页里这样配置
菜单名称:Complie Asm
命令行:D:\Tools\UltraEdit-32\bat\compilerasm.bat %P%N
工作目录:D:\Crack\masm32\BIN
工具栏位图:D:\Tools\UltraEdit-32\bat\asm.bmp
在选项的页里程序类型选 DOS ,勾上保存活动文件
在输出页面里选择“输出到列表框”,和“捕获输出”。
这样,当你编辑汇编源文件(*.asm)的时候就可以直接点这个工具进行编译了。
二.配置 C/C++ 环境:
我用的编译器是GNU C/C++的。就直接下载一个Dev C++,安装就可以了。可以在http://www.skycn.com/soft/4639.html这里下载。
这里再贴上批处理文件(你可以用记事本编辑bat文件夹里的compilerc.bat文件)。遇到文件夹的,都改成你安装的相应的文件夹。注意, // 以后是注释,不要写到文件里
@echo off //关闭回显,这样比较好看
if exist "%2.exe" del "%2.exe" //如果目标文件存在,则删除
if exist "%2.cpp" goto cpp //如果文件本来就以cpp为扩展名直接编译
echo 文件复制为cpp后编译
copy "%1" "%2_bak.cpp" //否则要把文件复制成cpp扩展名的临时文件再编译
"E:\HDOJ\Compiler\GCC\bin\mingw32-g++.exe" "%2_bak.cpp" -o "%2.exe" -march=pentium4m -ansi -fno-asm -w -lm –static //编译
del "%2_bak.cpp" //删除临时文件
if exist "%2.exe" goto success //如果编译成功则跳转
goto over
:cpp
echo 直接编译
"E:\HDOJ\Compiler\GCC\bin\mingw32-g++.exe" "%2.cpp" -o "%2.exe" -march=pentium4m -ansi -fno-asm -w -lm –static //直接编译
if exist "%2.exe" goto success //编译成功则跳转
goto over
:success
ren "%2.exe" %3 //改名
echo 编译成功
:over
然后在”工具配置”里增加一个工具。
在命令选项页里这样配置
菜单名称:Complie C++
命令行:"D:\Tools\UltraEdit-32\bat\compilerc.bat" %P%N%E %P%N "%n.exe"
工作目录:E:\HDOJ\Compiler\GCC\bin
工具栏位图:D:\Tools\UltraEdit-32\bat\c.bmp
在选项的页里程序类型选 DOS ,勾上保存活动文件
在输出页面里选择“输出到列表框”,和“捕获输出”。
这样,当你编辑文件的时候就可以直接点这个工具进行编译了。
三.配置Java环境
首先要装sun的jdk。我是装最新版的(截至2007.3.16为止),装在默认位置。按说明配置好环境变量(path,JAVA_HOME,classpath)后,反正能够在命令行下能用javac编译,java运行就行了。
我是安装好直接这样设环境变量就可以用的:classpath.;C:\Program Files\Java\jdk1.6.0\lib;C:\Program Files\Java\jdk1.6.0\lib\tools.jar;C:\Program Files\Java\jdk1.6.0\lib\dt.jar;
而 JAVA_HOME是C:\Program Files\Java\jdk1.6.0。还有path是C:\Program Files\Java\jdk1.6.0\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem
然后你可以修改bat文件夹内的compilerjava.bat这个批处理文件。为了方便。我就再贴出来。注意 , // 以后的是我加的注释,不要写到批处理里面去
@echo off //关闭回显,这样比较好看
if exist "%2.class" del "%2.class" //判断目标文件是否存在,是的话就删除
if exist "%2.java" goto java //判断该文件是否用java当扩展名,是的话跳转
copy "%1" "%2.java" //否则复制出一个扩展名为java的临时文件
javac "%2.java" //编译
del "%2.java" //删除临时文件
if exist "%2.class" goto success //判断是否编译成功
goto over
:java
javac "%2.java" //编译
if exist "%2.class" goto success //判断是否编译成功
goto over
:success
echo 编译成功
:over
然后在”工具配置”里增加一个工具。
在命令选项页里这样配置
菜单名称:Complie Java
命令行:D:\Tools\UltraEdit-32\bat\compilerjava.bat "%p%n%e" "%p%n"
工作目录:C:\Program Files\Java\jdk1.6.0
工具栏位图:D:\Tools\UltraEdit-32\bat\java.bmp
在选项的页里程序类型选 DOS ,勾上保存活动文件
在输出页面里选择“输出到列表框”,和“捕获输出”。
这样,当你编辑文件的时候就可以直接点这个工具编译java了。
重头戏:配置“运行”按钮
一个IDE,肯定要有一个运行按钮,用来执行程序。我这里用vc7写了一个process小程序,会启动参数中的进程,然后监视子进程直到子进程结束。然后输出子进程的运行时间和内存信息。这个程序也支持java程序。注意,这里测试的只是子程序运行时的时间,像等待输入等阻塞状态时计时器是不会动的。
这里你再修改bat中的run.bat这个批处理文件。这个文件很简单,只有两行:
@echo off
“D:\Tools\UltraEdit-32\bat\process.exe” %1
只要指定process正确的路进即可。
然后在”工具配置”里增加一个工具。
在命令选项页里这样配置
菜单名称:Run
命令行:"D:\Tools\UltraEdit-32\bat\run.bat" "%p%n"
工作目录:%p
工具栏位图:D:\Tools\UltraEdit-32\bat\run.bmp
在选项的页里程序类型选 DOS ,勾上保存活动文件
在输出页面里选择“输出到列表框”,和“捕获输出”。
这样,当你编辑文件的时候就可以直接点这个工具运行程序了。
注意,process这个文件还可以脱离UltraEdit单独使用。可以在控制台下输入
Process “d:\a”
这里参数要包含全路径和文件名,但不要加扩展名。程序会自动寻找.class(java程序)和.exe(普通程序)的。

新建一个工具栏(或者不新建,直接加到主工具栏里),并且把右边的用户工具1,2,……(取决于你一共加了几个工具)N加到工具栏里就行了。然后右键单击现有的工具栏,选择在弹出的菜单里选择“显示全部”就可以看到你的工具栏了。如图


