急请教高手:tc20或tc31集成环境下,如何生成 .com 文件?

guoyh 2000-07-13 02:11:00
小弟知道在tc31\bin下有一个tlink.exe 文件,用tlink/t可链接出.com 文件,
但无法加载库函数。而我的程序又要用到标准库和图形库。
tc20或tc31集成环境下可以加载库函数,但只能生成.exe文件。而我是要驻留的,且要是.com文件。但不知tc集成环境下如何生成 .com 文件?
小弟才疏学浅,望众位大侠指点迷津!小弟感激不已,在此先谢了!

...全文
230 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
偷偷告诉你:如果你们老板必须要 .COM 文件,可以改名!pian你们的laoban :-)
REN MYPROG.EXE MYPROG.COM
这样 MYPROG.COM 保证能够运行!
可以分析 Windows 9x 的 COMMAND.COM 的格式,百分之百的纯粹的 .EXE 格式!!!
  • 打赏
  • 举报
回复
????????? 既然这样真不明白你为什么不编 EXE 格式的驻留程序??????????
???????????????? 你见过的驻留程序都是 .com 的吗 ???????????????????
  • 打赏
  • 举报
回复
补充:我没注意你用图形库,可是 BGI 函数驱动涉及到多数据段分配far内存是不可能生成 .com 的,只支持 .exe 格式,BGI 又非常大,不如自己编显示,用 VESA 显示标准编 256 色 及 真彩色程序非常容易,又省内存,所有的 DOS 图形处理软件都是这样做的

把图形库函数编译成 .OBJ 文件就可以用 tlink 了:在 \TC\BGI 子目录有一个 BGIOBJ.EXE 用法:
BGIOBJ EGAVGA
就可以把egavga.bgi 编译成 egavga.obj
这样就永远永远脱离bgi独立运行了,编译:
bcc *.cpp EGAVGA.OBJ c:\bc\LIB\GRAPHICS.LIB
  • 打赏
  • 举报
回复
现成儿的不用,50分归我了 :-) Borland 给你想得非常周到,就在\TC或者\BC\BIN或者\TC\BIN子目录里面有专门编译COM文件的命令,最简单的就是:
Turbo C/C++ 用如下命令:
tcc -lt -mt *.c
Borland C/C++ 用如下命令:
bcc -lt -mt *.cpp
以上命令支持文件名通配符,要注意的是非常非常非常重要的就是一定要区分大小写,毕竟是C语言嘛,如果大小写错误是不能编译的,即使是DOS命令行参数
当然用BC和TC的连接命令 tlink /t *.obj 也可以将 .OBJ 文件连接成 .COM 文件的

比如用 Borland 的 Turbo Assembler 编译汇编语言,可以:
TASM *.ASM
TLINK /t *.OBJ
编译、连接成 .COM 文件
这个编译器,哈哈!就在 Borland C++ 的 \BC\BIN 或者 Turbo C++ 的 \TC\BIN
里面,不但与 M$ 的完全兼容,还有很多增强功能呢!这是 Borland 对 C 程序员的额外的奖励!!!
yoci 2000-07-13
  • 打赏
  • 举报
回复
不是所有的exe都可以2 com的,
exe2bin未必有效。
guoyh 2000-07-13
  • 打赏
  • 举报
回复
谁有dos版的exe2bin.exe文件,请借我一试。邮箱地址hust_gyh@sohu.com,
我在我机上及同事机上找到的都是windowNT里的,转化后不能解决问题。
可能较早版本的DOS里才有DOS版的exe2bin.exe。哪位好心人有就请寄我一试!

在TC31下,我在<Option>__<Compiler>__<Code generation>__<Model> 设为Tiny,
但在<Option>__<Aplication>__Linker output 显示的是Standard DOS EXE
用<Compile>__<Make> 出来的就是.exe 文件。

理论上tiny模式就能生成.com 文件,但不知道为什么集成环境不提供这一选项?或要做某种设置?众位请不吝详细赐教小弟!
w102272 2000-07-13
  • 打赏
  • 举报
回复
只要你的程序最终大小没有超过64K,可以采用Tiny模式编译,
否则需要在程序中使用覆盖。这样可以满足驻留的要求。
并非只有COM文件才能驻留内存。
lyzcom 2000-07-13
  • 打赏
  • 举报
回复
最简单的是采用TC的TINY(微)模式编程,可以直接生成COM文件。但是要注意:编程的COM生成文件最大不得超过64K!
rainbow 2000-07-13
  • 打赏
  • 举报
回复
dos 6.2x 第4张盘上有。
guoyh 2000-07-13
  • 打赏
  • 举报
回复
i have try the exe2bin.exe(find in winNT),but the .bin(have change name to .com)can not 驻留. I think it may be 版本问题,Did someone have old ver. exe2bin.exe?
Un1 2000-07-13
  • 打赏
  • 举报
回复
exe2bin.exe

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧