
UltraEdit + Turbo C++ 配置 C 语言学习环境详解
学过 C 语言的朋友大概都知道 Turbo C 编译器,但它的编辑环境不够人性化(一个烦人的全屏幕篮屏窗口),下面我给大家介绍一种方便的编辑编译环境配置方法。
一、需要的工具
编辑工具: UltraEdit ,这里使用的是 UltraEdit-32 v13.10a+2
编译器:TCC ,这是 Turbo C++ 3.0 自带的命令行编译器。
二、步骤
1)下载并安装 UltraEdit 。
2)将Turbo C++ 3.0安装到一空文件夹,这里假设为:C:/TC/ (最好不要有空格),新建名为 TCWORK 的文件夹作为我们的工作目录,今后将在这里存放我们的源文件和生成可执行文(如E:/TCWORK),避免和 TC++ 的文件混在一起。目录结构应与下列类似:
Turbo C++
|----INCLUDE
|----LIB
|----BIN
3)运行 UltraEdit ,单击『高级』->『工具栏配置』(您的菜单可能和我的不一样,我用的是官方中文版),打开『工具配置』对话框,在『命令行』『工作目录』『菜单项名称』里分别输入:
『命令行』: C:/TC/BIN/TCC.EXE -IC:/TC/INCLUDE -LC:/TC/LIB -nE:/TCWORK -w %f
『工作目录』: C:/TC/BIN
『菜单项名称』:编译(此项可任意)
并勾选『保存活动文件』『输出到列表窗口』『捕获输出』等选项,单击『插入』插入一个菜单项。最终结果如页面下图:
配置解释:
『工作目录』是指『命令行』里设置的程序与目录的相对父目录,即 TCC.EXE 以及目录 INCLUDE 、LIB 的父目录。
『命令行』里的 TCC.EXE 是 TC 的命令行编译器,-I 是其编译选项,指出 TCC.EXE 在编译源文件时到哪里寻找头文件,这里指定 INCLUDE 目录,同理 -L 指出库文件目录,-n 指出输出文件目录(即在哪里输出 .obj 、.exe 等文件),-w 指出显示警告信息。%f 则是 UltraEdit 提供的参数,指代当前的文件名(带扩展名),在运行该菜单命令时,UltraEdit 会自动将其以当前的文件名取代。
再添加一个菜单以运行新生成的程序:
『命令行』: %n
『工作目录』: E:/TCWORK
『菜单项名称』:运行(此项可任意)
注意:不要勾选『捕获输出』
配置解释:
%n 指代当前的文件名(不带扩展名),单击此菜单后,实际上就是运行生成的应用程序。
4)测试
在 UltraEdit 里新建一文件,以 Hello.c 保存到 d:/turboc2/WORK ,输入以下内容:
#include
int main()
{
printf("Hello, World!/n");
return 0;
}
单击『高级』->『编译』编译当前文件,没有错误后,单击『高级』->『运行』运行生成的程序。
上面的 Invalid keyboard code specified 可以不用管,怀疑是Bug
(5),为编译和运行菜单设置快捷健:
点击菜单:高级-配置,再选中键映射这一栏,可以看到所有的菜单项对应的快捷健,当然也包括我们刚才生成的两个菜单,如果觉得这两个菜单的快捷键用得不爽的话,可以自己设定。更详细的做法就不说啦。
附1 配置VC方法
编译:
1,在命令行中填入:cl %n%e 我们知道,dos下的cl命令用来编译源文件。后面的两个参数%n%e表示要编
译的源文件的文件名。(注意每个字母必须是小写的,以下同)
2,在工作目录中填入:%p
3,在菜单项目名中填写编译,这个名字就是我们要设置的编译菜单项的名字。
4,对于下面的几个复选框,选中输出到列表框和捕获输出。
5,点击插入按钮,建立编译菜单项
运行:
1,在命令行中填入:%n
2,在工作目录中填入:%p
3,在菜单项目名中填写运行,这个名字就是我们要设置的运行菜单项的名字。
4,对于下面的几个复选框,选中输出到列表框和捕获输出。
5,点击插入按钮,建立运行菜单项
点击确定退出
这样,当写好源程序后,点击工具编译和运行菜单,就可以编译和运行程序。最终生成.obj文件和.exe文件。这样的做法,比起使用vc要生成一大堆文件,而且要为每一个程序建立一个文件夹,是不是更加的方便呢?
原理:说了这么多,其实上面用到的是cl命令和utraledit-32提供的一些接口。我们知道,在dos下,可以用cl命令来编译c/c++程序(当然估计没人有会真的这么做)。而utraledit-32提供了一个接口,可以建立菜单项,通过点击菜单项来执行dos下的命令。需要考虑的是,dos下的cl命令要求提供源文件的文件名作为参数,这个参数,在utraledit-32用%n%e来代替。当然,也可以为%N%E,但推荐使用小写,大小写的区别请看utraledit-32的帮助文档。
附2 配置汇编MASM
★MASM版本:5.0,在系FTP/pub/Develop/ASM/masm5.zip
假设MASM5安装在G:/MASM
//推荐使用MASM5.0
★MASM6.11以上版本请copy一个link.exe到G:/MASM/BIN目录
★Step1
运行UltraEdit,选 "高级Advance->配置Tool Configuration",
命令行Command Line填G:/MASM/BIN/MASM %f,%n,NUL,NUL
工作目录Work Directory填%p,
菜单项目名称Menu Item Name填MASM Compile
在DOS命令输出Command Output中的输出到列表方块output to List Box和
捕捉输出Capture Output打勾,然后选插入Insert。
★Step2
接着在命令行Command Line填G:/MASM/BIN/LINK %n.obj,,NUL,,
工作目录Work Directory填%p,
菜单项目名称Menu Item Name填MASM Link,
在DOS命令输出Command Output中的输出到列表方块output to List Box和
捕捉输出Capture Output打勾,然后选插入Insert。
★Step3
接着在命令行Command Line填%p%n
工作目录Work Directory填%p,
菜单项目名称Menu Item Name填MASM Run,
在DOS命令输出Command Output中的输出到列表方块output to List Box和
捕捉输出Capture Output打勾,然后选插入Insert。
注意:%n,%p皆要小写,大小写意义不同!!
调整一下三个命令的上下顺序
测试:
选文件File,新建New,开始编辑原始程序.程序如下:
NAME MY_PROGRAM ;程序模块名
DATA SEGMENT ;数据段开始
BUFFER1 DB 0,1,2,3,4,5,6,7,8,9
DB 0AH,0BH,0CH,0DH,0EH,0FH
BUFFER2 DB 10H DUP(0)
MESS DB 'HAVE DONE',13,10,'$'
DATA ENDS ;数据段结束
STACK SEGMENT PARA STACK ;堆栈段开始
DB 100 DUP(?)
STACK ENDS ;堆栈段结束
CODE SEGMENT ;代码段开始
ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK
START: MOV AX,DATA
MOV DS,AX ;建立用户数据段
MOV ES,AX
LEA SI,BUFFER1
LEA DI,BUFFER2
MOV CX,10H
NEXT: MOV AL,[SI]
MOV [DI],AL
INC SI
INC DI
DEC CX
JNZ NEXT
LEA DX,MESS ;指向提示字符串
MOV AH,9 ;显示字符串的功能号
INT 21H ;DOS功能调用
MOV AH,4CH ;退出用户程序的功能号
INT 21H ;DOS功能调用
CODE ENDS ;代码段结束
END START ;整个源程序结束,并指明第一条执行语句
接着选 保存Save As ,填 first.asm。 储存完成后选高级Advance,
MASM Compile完后后再选高级Advance,MASM Link。
如果程序编译成功的话,高级Advance,MASM RUN您会看到下方的输出窗口Output Window
中看到
"HAVE DONE"
注意:
可能会在输出窗口有
Invalid keyboard code specified
这句话,不影响使用