Avatar billede weje Nybegynder
17. marts 2010 - 14:18 Der er 8 kommentarer og
1 løsning

Ældre C++ compiler

Hej.

Jeg har behov for at kunne lave et program der kan afvikles i "ren" DOS.

Dvs vi har en opstart med den gamle Win98 DOS, som jeg skal kunne lave en exe der kan afvikles i.

Alt hvad jeg prøver, kan ikke afvikles i DOS.

Her er hvad jeg har prøvet indtil videre:
Visual Studio - Kan kun lave Consol Apps, virker ikke i rå DOS.
Dev-C++ samme problem.
Code::Blocks 8.02 - samme problem.
Turbo C++ 3.1, har jeg fået installeret, men der kan jeg kun inkludere <iostream.h>, hvis jeg vælger <iostream> i stedet fejler den. Jeg kan heller ikke lave "using namespace std;", så jeg tænkte at der var noget galt med install.
Så fik jeg fat i en TC 3.0, den havde samme problem. Kan godt køre ting fra <iostream.h> men ikke fra <iostream>

Så måtte jeg i gang med det mere nørdede DJGPP. og det er også gået godt med at få den ind på min lille DOS maskine. Den fejler dog nu med en basic_string.h file not found... som jeg ikke helt kan lure hvorfor (filen findes)

Ser ud til at den ikke fejler på selve koden, men den vil ikke lave en exe, så længe der er fejl.

Så nu sidder jeg ligesom fast der.

Alle kommentarer med mere er velkomne

Indtil videre er mit program super avanceret:

#include <iostream>
using namespace std;

int main()
{
  cout << "Hello world!" << endl;
  return 0;
}

Senere er det meningen at jeg skal læse en xml fil, og udfra den, sætte nogle environment variable...
Avatar billede arne_v Ekspert
17. marts 2010 - 14:26 #1
Jeg ville satse paa DJGPP.

Den skal virke i DOS og den er langt nyere end diverse 20 aar gamle compilere dea den rigtige DOS tid.

basic_string.h er ikke et valid DOS filnavne (8+3) - hvad er det blevet til ?
Avatar billede weje Nybegynder
17. marts 2010 - 15:16 #2
Hej Arne

Jeg har pakket det hele ud med unzip32, så det brude være ok:

Den hedder: C:\DJGPP\INCLUDE\CXX\4.42\BITS\BASIC_ST.H
Avatar billede preppydude Nybegynder
17. marts 2010 - 15:40 #3
Problemet er at alle nyere compilere kun understøtter 32- og 64-bit. DOS er 16-bit. Så søg efter en 16-bit DOS compiler på Google.

Husker jeg rigtigt var Open Watcom en god compiler i 90erne. :)
Avatar billede arne_v Ekspert
17. marts 2010 - 17:54 #4
Hm. Jeg kan proeve og checke naar jeg kommer hjem til min DJGPP.
Avatar billede arne_v Ekspert
17. marts 2010 - 17:55 #5
preppy>

DJGPP virker paa 16 bit DOS.

Det er faktisk en 32 bit compiler, men der embeddes en DOS extender i EXE saa den kan koere paa 16 bit.
Avatar billede preppydude Nybegynder
17. marts 2010 - 18:09 #6
Jeg kender ikke DJGPP. Min kommentar var bare en udvidelse af dit svar så han har nogle valgmuligheder. :) GCC skulle også kunne konfigureres til at smidde en 16-bit PE ud. Aner godt nok ikke hvordan, da jeg aldrig har programmeret C++ til 16-bit. Det plejer at være C eller ASM.

Er forresten blevet rigtig glad for JSP. Det har alt hvad jeg har efterlyst i MANGE år. Det lækkert - pånær konfigurations delen. Den har jeg stadig ikke sat mig ind i. :b
Avatar billede arne_v Ekspert
17. marts 2010 - 18:12 #7
DJGPP er GCC

problemet med aegte 16 bit compilere er alderen - C++ aendrede sig en lille smule da det blev ANSI/ISO standardiseret i 1998
Avatar billede bertelbrander Novice
17. marts 2010 - 19:56 #8
Jeg synes du skal bruge Digital Mars:
http://www.digitalmars.com/

Det er den mest moderne kompiler der understøtter DOS, i diverse varianter, der bliver stadig udviklet på Digital Mars.
Avatar billede weje Nybegynder
06. juni 2014 - 18:44 #9
Lukker...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester