有关于用tcc.exe命令编译程序

转载 2006年05月19日 14:50:00

 正在学linux编程,所以在用Turboc2写程序时也想在dos下直接编译运行程序,还真不容易,在网上查了很多资料才找到一点关于命令提示符下用tcc.exe进行程序编译和运行的小教材,不过倒也有所成就.汇总一下:

(PS:以下资料来自网上搜索:谢谢网友euclid(http://www.oioj.net/blog/user2/21189/archives/2005/155146.shtml)(事实上我也很喜欢他的自我介绍:一大段英文让我以为这是个老外-_-!!)

和网友:1/2 程序员(http://spaces.msn.com/hiletinzhang/)

终于搞明白了TCC和Tlink

打开命令行:进入TC目录输入tcc -Iinclude hello可以编译成hello.obj

tcc -Iinclude -Llib hello编译并连接成hello.exe

tcc -Iinclude -S hello生成hello.asm

其余的:

Turbo C++ Version 3.00 Copyright (c) 1992 Borland International
Syntax is: TCC [ options ] file[s]     * = default; -x- = turn switch x off
  -1      80186/286 Instructions    -2      80286 Protected Mode Inst.
  -Ax     Disable extensions        -B      Compile via assembly
  -C      Allow nested comments     -Dxxx   Define macro
  -Exxx   Alternate Assembler name  -G      Generate for speed
  -Ixxx   Include files directory   -K      Default char is unsigned
  -Lxxx   Libraries directory       -M      Generate link map
  -N      Check stack overflow      -O      Optimize jumps
  -P      Force C++ compile         -Qxxx   Memory usage control
  -S      Produce assembly output   -Txxx   Set assembler option
  -Uxxx   Undefine macro            -Vx     Virtual table control
  -X      Suppress autodep. output  -Yx     Overlay control
  -Z      Suppress register reloads -a      Generate word alignment
  -b    * Treat enums as integers   -c      Compile only
  -d      Merge duplicate strings   -exxx   Executable file name
  -fxx    Floating point options    -gN     Stop after N warnings
  -iN     Max. identifier length    -jN     Stop after N errors
  -k      Standard stack frame      -lx     Set linker option
  -mx     Set Memory Model          -nxxx   Output file directory
  -oxxx   Object file name          -p      Pascal calls
  -r    * Register variables        -u    * Underscores on externs
  -v      Source level debugging    -wxxx   Warning control
  -y      Produce line number info  -zxxx   Set segment names

 

UltraEdit + Turbo C 配置 C 语言学习环境
学过 C 语言的朋友大概都知道 Turbo C 编译器,但它的编辑环境不够人性化(一个烦人的全屏幕篮屏窗口),下面我给大家介绍一种方便的编辑编译环境配置方法。
一、需要的工具
编辑工具: UltraEdit ,这里使用的是 UltraEdit-32 v11.00+ ,UltraEdit 是共享软件,你可以试用一段时间。
编译器:TCC ,这是 Turbo C 2.0 自带的命令行编译器。
二、步骤
1)下载并安装 UltraEdit 。
2)到 http://www.programfan.com/showdown.asp?id=152 (地址可能有变动)下载 Turbo C 2.0 ,解压到一空文件夹,这里假设为: D:/turboc2/ (最好不要有空格),进入 D:/turboc2/ 新建名为 WORK 的文件夹作为我们的工作目录,今后将在这里存放我们的源文件和生成可执行文件,避免和 TC2 的文件混在一起。最后的目录结构应与下列类似:
turboc2
|----INCLUDE
|----LIB
|----WORK
3)运行 UltraEdit ,单击『高级』->『工具栏配置』(您的菜单可能和我的不一样,我用的是某某网友汉化版的),打开『工具配置』对话框,在『命令行』『工作目录』『菜单项名称』里分别输入:
『命令行』: TCC.EXE -IINCLUDE -LLIB -nWORK -w %f
『工作目录』: D:/turboc2
『菜单项名称』:TCC (此项可任意)
并勾选『保存活动文件』『输出到列表窗口』『捕获输出』等选项,单击『插入』插入一个菜单项。最终结果如页面下图:
 配置解释:
『工作目录』是指『命令行』里设置的程序与目录的相对父目录,即 TCC.EXE 以及目录 INCLUDE 、LIB 的父目录。
『命令行』里的 TCC.EXE 是 TC2 的命令行编译器,-I 是其编译选项,指出 TCC.EXE 在编译源文件时到哪里寻找头文件,这里指定 INCLUDE 目录(相对『工作目录』定位),同理 -L 指出库文件目录,-n 指出输出文件目录(即在哪里输出 .obj 、.exe 等文件),-w 指出显示警告信息。%f 则是 UltraEdit 提供的参数,指代当前的文件名(带扩展名),在运行该菜单命令时,UltraEdit 会自动将其以当前的文件名取代。
再添加一个菜单以运行新生成的程序:
『命令行』: %n
『工作目录』: D:/turboc2/WORK
『菜单项名称』:Run(此项可任意)
配置解释:
%n 指代当前的文件名(不带扩展名),单击此菜单后,实际上就是运行生成的应用程序。
4)设置快捷方式(可不设置,此项设置只是为了方便)
单击『高级』->『配置』->『快捷键』,在『命令:』里分别选择『高级 - 用户工具 1』与『高级 - 用户工具 2』,为这两项菜单更改快捷方式,如分别改为 F5 与 F6 。
5)测试
在 UltraEdit 里新建一文件,以 Hello.c 保存到 d:/turboc2/WORK ,输入以下内容:
/*----------------------------------------------
 File: Hello.c - Print a "Hello, World!" message on the console window
        (c) Hiletin Zhang
 ------------------------------------------------*/
#include <stdio.h>
 
int main()
{
 printf("Hello, World!/n");
 getch();
 return 0;
}
按快捷键 F5 或单击『高级』->『TCC』编译当前文件,没有错误后,按快捷键 F6 或单击『高级』->『Run』运行生成的程序。

CCF ADL 78 深度学习讲习班回顾:这几个大热领域的算法到应用,8位学术大牛带你掌握人工智能前沿技术

2017 年 4 月 7-9 日,由 CCF 和 KDD China 联合主办的高端学术及技术系列性品牌活动,中国计算机学会学科前沿讲习班(CCF Advanced Disciplines Lectu...
  • AMDS123
  • AMDS123
  • 2017年04月10日 13:35
  • 6707

从键盘输入一个正偶数,将该偶数拆分成两个素数之和

#include #includeint main() { int n, a, b, i; printf("请输入一个正偶数:\n"); while (scanf_s("%d"...
  • fussier
  • fussier
  • 2016年01月05日 14:31
  • 1309

命令行编译程序 MSVC vs. MinGW 之 (lib,dll,def,obj,exe) vs (a,dll,def,o,exe)

MinGW: c -> o           gcc -c a.c c -> exe         gcc a.c libs.o -o a.exe (从主程序a.c,附加libs,生成a.ex...

TCC.EXE编译器(探究学习一)

一、TCC命令集

cl.exe(VC编译程序)参数大全

CL.exe 是控制 Microsoft C 和 C++ 编译器与链接器的 32 位工具。编译器产生通用对象文件格式 (COFF) 对象 (.obj) 文件。链接器产生可执行文件 (.exe) 或动态...

csc.exe编译器常用命令

csc.exe编译器常用命令: 命令:csc File.cs ,功能:编译 File.cs以产生 File.exe,另一种写法:csc/out:MyFile.exe File.cs,可以自定义编...

nasm 0.98的编译程序(此为exe文件)

  • 2011年04月14日 15:37
  • 112KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:有关于用tcc.exe命令编译程序
举报原因:
原因补充:

(最多只允许输入30个字)