找回密码
 注册
查看: 967|回复: 7

求助!如何把程序从dos下移植到linux下??

[复制链接]
发表于 2005-4-19 15:46:33 | 显示全部楼层 |阅读模式
最近老师让我把一个程序从dos下移植到linux下,以前从没做过这移植,
这个程序已经在tc3.0里编译通过了,而且不包含graphic图形函数,
我直接把它拿到linux下,做了一个makefile文件,编译后提示:找不到dos.h  conio.h dir.h io.h process.h文件,

我搜索了一下在/usr/include目录里面找不到这些头文件,但是在/usr/lib/bcc/include里面有,/opt/develop-tools-dist/include文件夹里也有。而且发现有的头文件有好几个,在不同目录下大小各不相同,不知道该用哪个,

不知道该怎么办?要不要在gcc后面使用—I参数指定路径搜索?
先谢谢!
发表于 2005-4-19 16:38:10 | 显示全部楼层
加 -I 指定搜索,在makefile里也可加.
回复

使用道具 举报

发表于 2005-4-19 16:44:21 | 显示全部楼层
linux没有tc中的库函数.也就是说应该不兼容.
回复

使用道具 举报

 楼主| 发表于 2005-4-19 17:20:09 | 显示全部楼层
加了-I还是不行,有没有人做过从dos到linux下的程序移植??
回复

使用道具 举报

发表于 2005-4-19 18:55:47 | 显示全部楼层
dos.h conio.h dir.h io.h process.h

dos.h 这个肯定没希望了
conio.h 这个……在 Win32 下都不是标准的。参考 ncurses 吧。
dir.h 这个不确定。Linux 下有 dirent.h 是用来操作目录的,但是不知道接口是否一样
process.h 这个绝对没有。包含 unistd.h 和 sys/types.h 然后用 fork / exec 吧。

如果一个程序本身设计实现的时候没有考虑移植性问题,那么你现在的工作几乎等于重写它了……
回复

使用道具 举报

 楼主| 发表于 2005-4-20 09:54:17 | 显示全部楼层
能不能找到tc3.0函数库的代码再把它添加到程序文件里面?这样可行吗?
回复

使用道具 举报

发表于 2005-4-20 10:00:16 | 显示全部楼层
[quote:d8b18ac9c5="秋雨梧桐"]能不能找到tc3.0函数库的代码再把它添加到程序文件里面?这样可行吗?[/quote]理论上可行,实际上........比如相互之间的头文件包含关系,而tc的函数库中的所有函数你又不能保证在linux下能用.....
回复

使用道具 举报

发表于 2005-4-20 10:41:38 | 显示全部楼层
理论上不可行,因为 TC 的库函数是给 DOS 设计的。其中的 OS 相关的部分足够让你头撞南墙了……
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2025-2-8 23:36 , Processed in 0.020968 second(s), 15 queries .

© 2001-2025 Discuz! Team. Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表