2010-05-10 9 views
3

Mon université organise un concours de programmation et a décidé de prendre en charge Turbo C (la version DOS 16 bits) comme environnement de programmation valide. Je viens de lire que PC^2, le logiciel qui va être utilisé pour auto-juger la concurrence, ne supporte pas les programmes 16 bits.Alternative à Turbo C

Donc, existe-t-il une alternative au Turbo C que je peux utiliser. J'ai besoin des mêmes fichiers d'en-tête, et le compilateur devrait supporter tous les standards C obsolètes supportés par Turbo C. Mais la sortie doit être 32 bits. Existe-t-il un compilateur capable de satisfaire ces conditions?

+1

Ne serait-* tous * les participants ont ce même problème de compatibilité? Est-ce que Turbo C est l'environnement de programmation * seulement * pris en charge? –

+0

Pas tous les participants. En plus de Turbo C, nous prenons également en charge gcc, Visual C++ et Java. – Jibran

+2

Il semble donc qu'ils ne supportent pas vraiment Turbo C si leur logiciel d'auto-évaluation ne supporte pas Turbo C. –

Répondre

5

Les programmes C portables peuvent être écrits dans de nombreux compilateurs libres et compilateurs non libres.

Pour des raisons de compatibilité, vous ne pouvez pas vous tromper avec gcc sur les machines Linux. Si cela ne fonctionne pas avec GCC, vous avez probablement un problème. Dans Windows, le compilateur Microsoft C est généralement considéré comme acceptable, mais si vous utilisez MS Visual Studio (la plupart des écoles ont une installation), vous devez être très prudent pour vous assurer que vous compilez comme ANSI-C, plutôt que versions ultérieures de C ou même C++. Quand j'enseignais, les étudiants manquaient cette option, ce qui entraînait des problèmes avec les tests automatisés. Voici quelques instructions sur how to do this with Visual Studio 2005, vous pouvez trouver des fonctionnalités similaires dans les versions ultérieures.

+0

Je suis prêt à utiliser gcc, car la configuration est la plus simple avec les options de ligne de commande. Mais supporte-t-il tous les fichiers d'en-tête fournis avec Turbo C, comme conio.h? Je demande juste parce que j'ai essayé de faire cela quand je suis allé d'abord de Turbo C à gcc et ai eu des problèmes avec un certain nombre de dossiers d'en-tête. Et conio.h ne fait pas partie de la norme ANSI-C si je me souviens bien? – Jibran

+0

@Asad vous utilisez 'conio' !? C'est un fichier d'en-tête DOS. – Earlz

+2

Je vous suggère de revenir en arrière et d'apprendre la norme C et peut-être quelques belles bibliothèques comme ncurses et pthreads. "Nous ne sommes plus en mode réel!" – Earlz

1

Je réalise que cette question a une réponse, mais pour quiconque cherche SO pour une alternative à Turbo C pour la construction d'applications DOS 16 bits, je tiens à souligner que OpenWatcom a été une excellente alternative. Je l'ai utilisé sous Windows 7 pour créer des applications DOS 16 bits avec beaucoup de succès pour une cible embarquée exécutant DOS 6.22.

+0

Aha, c'est bon à savoir. –