c++ - 使 DEV++ 与 Turbo C++ 的代码/ header 兼容

标签 c++ c dos turbo-c++ bgi

我在一家工厂工作,我们 80% 的设备都使用 MS-DOS 界面。我们的工程师都没有 c/c++ 编程经验,因此我们被要求向机器界面添加一些功能。我们的自动化组已经放弃了 MS-DOS 平台,转而使用 Allen-Bradley 控件。尽管我几乎没有 c/c++ 经验,但我雄心勃勃并决定承担这个项目。

关于问题:

所有程序都是用 Turbo C++ 编写和编译的。出于各种原因(易用性、额外的 header 、更发达的 C++ 平台等),我更愿意使用 DEV++。问题是现有的编程严重依赖于 TC++ 的非标准 header 。源代码中有 10 个左右的头文件在 DEV++ 中不可用,使用更现代的结构重写代码不是一种选择;我们将失去来自 AG、时间等的一点点支持。

有没有一种方法可以将所有 header 从 TC++ 添加到 DEV++?例如将 graphics.h 添加到 DEV++ 并使其功能齐全?我试过将它添加到 include 文件夹,用#include"graphics.h"调用它,如果 DEV++ 设法识别它,它会抛出大量编译错误,因为它无法识别 graphics.h 中的内部命令文件。

很遗憾,由于保密和复制写入政策,我无法包含该项目的任何示例代码。

我的编程经验: DABBLE 在 RSLogigx500,5000 中; Arduino IDE(不要评判);派克 6K ;面板 View ;约 40 小时的自学 C 和 C++。

如有任何帮助,我们将不胜感激。

更新 非常有用的信息。考虑到硬件的过时程度和我对该项目的限制,这似乎是不可能的,但感谢大家的投入。

最佳答案

在某种程度上,大多数来自旧 Turbo C 的 header 实际上只是 MSDOS API。因此,尝试在任何其他环境中使用这些 header 没有任何意义,并且您不能将它们移植到 Windows 编译器。类似地,graphics.h 用于称为 BGI 的特定于 Borland 的 DOS 图形库,不适用于任何其他编译器。

应该注意的是,旧的 Turbo C++(我假设是 3.1 版?)并没有太多遵循 C 或 C++ 标准。它使用的 C++ 版本完全是古董。

另请注意,Dev C++ IDE 已过时,不再更新 GCC 编译器。 CodeBlocks IDE 是更好的选择。

关于c++ - 使 DEV++ 与 Turbo C++ 的代码/ header 兼容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32432477/

相关文章:

c++ - 生成库 (.lib) 文件

c - 带有类型转换的讨厌的指针数组,Invalid Initializer 错误

当我将一个 c 文件的输出重定向到另一个文件时出现 C 编程错误

c - 如何在 DOS/C 中访问非标准 COM 端口(USB->Serial,COM5+)?

c - 如何在 FreeDOS 中编写内联汇编

汇编 x86(16 位): More accurate time measurement

c++ - 如何使用 enable_if 根据类的模板参数启用成员函数

c++ - 如何验证 QlineEdit 以允许仅写入字符串或仅允许写入数字

打印 header 中声明的变量时 C++ 崩溃

c - C 中的翻转条件检查