衣带渐宽终不悔,为伊消得人憔悴

想回到过去,试着让故事继续。。。

 
· 所有网志 (75) · 个人日记 (40) · 程序设计 (6) · ACM-ICPC (7) · 读书笔记 (4) · 乱七八糟 (8) · 贴图空间 (7) · 未分类 (3) ·
日历
站内搜索
友情链接
· 我的歪酷 非非共享界
· 喜欢叫我林老师的 Yuer
· “我们家”小樱
· 一粒土豆的天空
· 极光炫影
· 枫之羽
· 渡渡
· 8600
· zl
· Bin-Laden
· RPG
· 月亮公主++
· 阳光不锈
· 农夫三拳

订阅 RSS

0039380

歪酷博客

« 上一篇: 回家半个月流水帐 下一篇: 例行贴课表 »
linle @ 2007-03-17 16:31

 

最近仔细试了下UltraEdit,发现这个软件可定制性太强了,由于汇编的编程需要并且一时兴起,就把它定制为能够适应多种语言而且可以方便编译运行的开发环境。

现在这个环境的功能为:

1.  支持ASM,C\C++,Java的语法加亮和一键编译

2.  能够一键运行,并且测出程序的运行时间和内存信息(这个就特别适合平时做ACM题目啦)

3.  能够一键清理编译产生的execlass等。

4.  注意,如果路径或文件名中存在空格,则可能错误,暂时没仔细修改

详细效果见下图:



其实这个也没有什么技术难度,只是利用一些批处理文件和选项而已。这里贴出详细的配置过程,方便大家使用。
 
首先当然要下载UltraEdit。地址为http://green.crsky.com/soft/737.html 。下载后随便解压缩到某个地方就可以了。我是解压缩到”D:\Tools\UltraEdit-32”,下面配置中有出现这个地址,请大家改成自己相应的解压缩地址。
    再下载一个我打的压缩包(http://acm.hdu.edu.cn/downloads/ue.rar),里面有一些配置文件的,方便你用这些文件来修改配置你自己的系统。把压缩包里的bat文件夹复制到你的UltraEdit文件夹下面(其实也可以不用,到那里只是为了方便管理而已)。

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

   

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



    

    


好,这些准备好之后下面开始配置。每个模块不会互相干扰,如果你不需要,可以随时跳过某个。

 

 

一.配置 汇编 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%        //设置masminclude环境变量

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环境

首先要装sunjdk。我是装最新版的(截至2007.3.16为止),装在默认位置。按说明配置好环境变量(pathJAVA_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_HOMEC:\Program Files\Java\jdk1.6.0。还有pathC:\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(普通程序)的。

 还有一点要注意的是。process现在不支持管道重定向,所以如果要处理大量输入输出的话,请在程序里自己重定向scanf和printf,或者直接操作文件
收尾工作
好了,现在该配置的也都配置完了,不出意外的话,在菜单里执行命令即可以进行编译和运行了,不过每次去点菜单也不爽,还可以把这些按钮弄到工具栏来。具体方法见下:
点“高级”菜单的配置,在左边的“工具栏/菜单”里找到定制,即可定制工具栏。见下图

    

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

   

搞定收工
       这样基本上,一个比较方便的开发环境就配置好了。中间可能还有一些小问题,大家可以自己想想怎么解决。当然,有什么问题可以在这里给我留言。



最新评论

2007-03-19 17:27

问下怎么配置显示运行的
memory usage
kernel time usage
user time usage
total time usage


thanks!


2007-03-19 17:33

不好意思
没看全文
现在知道了


2007-04-22 15:30 网址: http://www.blogcn.com/user54/yookumi/index.html

偶换地址了。。



Yuer

2007-05-21 22:17 匿名 123.249.*.* 网址: http://yookumi.blogcn.com

好不忍打扰这里的意境..
可是,规则要遵守.
自己回答,然后传可8个人,会幸福的.

对,你被点名了~~看我的贴
http://www.blogcn.com//user54/yookumi/blog/59519278.html

明天就回复。。不好意思,让你等了那么久啦。。


VAEVA

2008-04-14 11:48 匿名 218.7.*.*

mingw32-g++.exe: installation problem, cannot exec `cc1plus': No such file or directory
这是什么问题啊!!!



VAEVA

2008-04-14 11:49 匿名 218.7.*.*

mingw32-g++.exe: installation problem, cannot exec `cc1plus': No such file or directory
这是什么问题啊!!!


评论 / 个人网页 / 扔小纸条
* 昵称

已经注册过? 请登录

新用户请先注册 以便能显示头像及追踪评论回复

Email
网址
* 评论
表情
 


 

分类小组论坛
杂谈 , 娱乐、八卦 , 文学、艺术 , 体育 , 旅游、同城 , 象牙塔 , 情感 , 时尚、生活 , 星座 , 科技

请注意遵守中华人民共和国法律法规, 如威胁到本站生存, 将依法向有关部门报告, 同时本站的相关记录可能成为对您不利的证据.

相关法律法规
全国人大常委会关于维护互联网安全的决定
中华人民共和国计算机信息系统安全保护条例
中华人民共和国计算机信息网络国际联网管理暂行规定
计算机信息网络国际联网安全保护管理办法
计算机信息系统国际联网保密管理规定