Visual C ++ для Turbo C ++ - PullRequest
       34

Visual C ++ для Turbo C ++

2 голосов
/ 07 сентября 2011

Привет, я написал программу на Visual C ++, и по какой-то причине теперь мне нужно запустить / скомпилировать эту же программу в Turbo C ++ 3.0.

Мне удалось получить компилятор из какого-то источника, но я получаю много ошибок, когда пытаюсь скомпилировать свой код. Я прокомментировал "#include stdafx.h", установив соответствующие пути для каталогов и библиотек в ide. эти строки дают мне ошибки

#include <list> //Error unable to open include file list

using namespace std; //Declaration syntax error

typedef list<int> itemist; // , expected

bool setPlayerChar(char key); // Type name expected // Declaration missing ;

void generateItemList(piece market[9], itemlist &ilist) // ) expected

bool exit = false; // Undefined symbol 'bool' // statement missing ;

Ответы [ 4 ]

4 голосов
/ 07 сентября 2011

Когда несколько лет назад Turbo C ++ 3.0 был современным, многих современных вещей на C ++ не существовало. Нет STL, нет <list>, нет пространств имен, даже нет типа bool (обычно эмулируется макросом 'BOOL'). Когда я правильно помню, это был просто 16-битный компилятор, что доставляет вам еще больше удовольствия с int и указателем арифметики.

Счастливого портирования; -)

0 голосов
/ 08 сентября 2011

Если вам нужно собрать свою программу для DOS, вы можете попробовать Borland C ++ 5.02. Это последний компилятор Borland, который поддерживал DOS и включал в себя несколько стандартных стандартов STL.

Код такой:

#include <list>

using namespace std;

typedef list<int> itemist;

должно быть скомпилировано с ним.

0 голосов
/ 08 сентября 2011

Если вам действительно нужно запустить ваше приложение в DOS, а машина хотя бы на 80386, я бы предложил использовать DJGPP .Это обеспечивает недавний GCC.Ваше приложение будет работать в защищенном режиме x86.

0 голосов
/ 08 сентября 2011

Вы можете попробовать эти уродливые хаки:

/* Check if the compiler is Borland Turbo C++ 3.0 or earlier */
#ifdef __BORLANDC__
#if (__BORLANDC__ <= 0x400)

#include <list.h>

typedef int bool;
#define true  (1)
#define false (0)

#else

#include <list>

#endif

и так далее, но вместо этого рассмотрите возможность использования более нового компилятора, такого как GCC или MSVC.

...