From: "Florian X" Newsgroups: comp.os.msdos.djgpp References: Subject: Re: Read Me Third Date: Mon, 27 Mar 2000 17:37:16 +0200 X-Newsreader: Microsoft Outlook Express 4.71.1712.3 X-MimeOLE: Produced By Microsoft MimeOLE V4.71.1712.3 Lines: 206 Message-ID: <38df8005$0$65582@SSP1NO17.highway.telekom.at> NNTP-Posting-Host: 212.183.92.182 X-Trace: newsreader.vienna.highway.telekom.at 954171397 65582 212.183.92.182 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com Also Lineo Dr-DOS has a very good 32-Bit DPMI server (not only Windows)!! www.lineo.com -> products -> download Damian Yerrick schrieb in Nachricht ... > _____________ _____________ _____________ _____________ _____________ >Read Me Third: The Short DJGPP FAQ List >Most Frequently Asked Questions in comp.os.msdos.djgpp >By Damian Yerrick >(updated 14 February 2000) > >Because many people do not have time to browse through the whole 200- >page DJGPP FAQ list, I created this extremely condensed version based >on the most common DJGPP questions on c.o.m.d and c.o.m.p. >Read the original at http://www.delorie.com/djgpp/v2faq/ >Read the latest short FAQ at > http://www.rose-hulman.edu/~yerricde/minifaq.txt > >To be included in this list, a question must be related to DJGPP and >discussed in at least five separate threads in comp.os.msdos.djgpp >and/or comp.os.msdos.programmer. If a question is also answered in the >full FAQ, these five questions must have come within five weeks. > > > 1. Why DJGPP? > 2. Location of Info-ZIP > 3. I know C++. How do I enter my code into DJGPP? > 4. C++: linker "undefined reference" to everything > 5. C++: linker "cannot open -lstdcx" > 6. Long file names > 7. How do I do (graphics)? How do I do (sound)? What is "spilled"? > 8. What is DPMI? > 9. Program crashes in _free >10. Help! >11. Locations of various commonly requested files > > >Q: I'm looking for a DOS compiler. Why DJGPP? > >A: Watcom C++ was a payware C/C++ compiler that made 32-bit DOS >binaries. You can recognize a program built with Watcom because it >will generally come with the DOS extender DOS4GW.EXE. According to >Sascha Bendinger , it has been shelved and is >no longer developed. > >DJGPP, on the other hand, is a free C/C++ compiler that makes 32-bit >DOS binaries. DJGPP programs often come with a DPMI host called >CWSDPMI, but a compatible extender is built into enhanced mode >Windows 3.1 and later. Because DJGPP is a port of the popular GNU C++ >Compiler, programs developed with DJGPP will be more portable (Davin >McCall ). And its C library fully supports long >filenames where the host DOS provides them, i.e. under Windows 95, 98, >and 2000 (note: not NT <= 4). > > >Q: WinZip wants to put each zipfile's contents into a new folder. How >do I unzip everything into C:\DJGPP? >Q: WinZip wants to make long filenames on my Windows NT. How do I >turn them off? > >A: Get unzip32 from the DJGPP Zip Picker, at > http://www.delorie.com/djgpp/ >Then install everything as directed in the README. > > >Q: How do I enter my code into DJGPP? > >A: You can use any text editor and then use gcc from the command line: > C:\>gcc hello.c -o hello.exe >Or you can use RHIDE, Robert Hoehne's Integrated Development >Environment, which works almost exactly like Borland Turbo C++ for >DOS. If you downloaded it from Pavenis's web site > http://www.lanet.lv/~pavenis/rhide.html >and you installed DJGPP to c:\djgpp, RHIDE should be at > c:\djgpp\bin\rhide.exe >Many people use a text editor (Emacs and vi are popular) to edit >their code and GNU Make, a scripting language for file translation >dependencies, to manage compilation. > C:\>info make > > >Q: I can compile and link C code just fine, but when I try to >compile and link a C++ program from the command line, I get >"undefined reference" errors all over the place. > >A: Use gpp instead of gcc. gpp knows about the >extra libraries that C++ programs need. > > >Q: When I try to compile and link a C++ program in RHIDE, I get > Error: C:/djgpp/bin/ld.exe: cannot open -lstdcx: No such file or > directory (ENOENT) > >A: RHIDE 1.4 has a slight bug with long filenames in C++. See section >8.8 of the full FAQ list for a full explanation. A fix for this >problem has been integrated into DJGPP 2.03; get it at the >zip picker. > > >Q: Why can't the C++ compiler find streambuf.h or -lstdcxx? >Q: Why can't I use long file names under NT or plain DOS? > >A: MS-DOS by itself does not support long file names such as >s t r e a m b u f . h >and neither does Windows NT 4's DOS emulator. You probably used WinZip >under Windows to unzip DJGPP (giving stream~1.h according to plain >DOS). Try reinstalling DJGPP using unzip32, as described above. See >also sections 8.3 and 22.18 of the full FAQ list. > > >Q: How do I do (graphics)? >Q: How do I do (sound)? >Q: How do I do (mouse)? > >A: The Allegro library by Shawn Hargreaves et al. handles the >keyboard, mouse, joystick, graphics, waves, and MIDI. Version 3.931 >works on MinGW, Linux, DJGPP, Watcom C++, and even dreaded >Microsoft Visual C++ and Borland C++Builder. Get it at > http://www.talula.demon.co.uk/allegro/ > >Note: Allegro, when built for DOS, will not be able to use SVGA >resolutions (anything over 320x200) under Windows NT because NT >prohibits the sort of direct access required for SVGA. However, if you >build with Micro$oft Visual C++ or MinGW, you'll get a Win32 program >that uses DirectX. > > >Q: What is DPMI? >Q: When I try to run my program on my other computer, it gives me >Load error: no DPMI; get csdpmi*b.zip > >A: DPMI, or the DOS Protected Mode Interface, is a method of >communication between 32-bit DJGPP programs and 16-bit PC DOS (MS-DOS, >DR DOS, FreeDOS). To run DJGPP programs in DOS mode (booting straight >into DOS as opposed to a DOS emulation box in Windows), you'll need a >DPMI host such as CWSDPMI. Download it from the DJGPP Zip Picker; then >unzip cwsdpmi.exe into a folder on your PATH. > > >Q: My program crashes. When I symify the traceback, the first EIP >is inside the _free function. >Q: I can run a program under Windows 95. Why does it SIGSEGV under >plain DOS? >Q: Why do I get different results if I run a program more than once? >I didn't use any pseudorandom number generators. > >A. Your program most likely wrote beyond the end of a block or tried >to access uninitialized memory or dereference a NULL pointer. Try a >memory debugger such as YAMD. For more information, see section 9.2 >of the full DJGPP FAQ list. > > >Q: My program doesn't work. Can someone on c.o.m.d help? > >A: The general consensus is that we'll help if you provide these five >things: > >1. Version number of DJGPP, gcc, binutils, and any add-ons > (Allegro, RSXNTDJ, etc.) you are using. >2. Your operating system (DOS? Sin95? 98? NT? Linux cross-compiler?) >3. The smallest source code fragment that produces the error. Often, > trying to isolate the problem leads to an easy fix. >4. The command line you are using to make the program. >5. The exact error messages you get, either the error output from GCC > (if you can't compile) or the output from symify.exe if there is a > list of traceback EIPs (that is, if your program crashes at > runtime). > >Otherwise, we're not psychics. :-) > > >If you have any questions or comments, post them at >comp.os.msdos.djgpp *or* mail them to djgpp AT delorie DOT com; if they're >the most frequently asked, they may become part of this short FAQ >list. > >Damian Yerrick > > >11. Commonly Requested Files > >Allegro, a game I/O library > http://www.talula.demon.co.uk/allegro/ >DLM, a dynamic linking package > http://members.xoom.com/dosuser/dlm20b.zip >RHIDE, an IDE for GCC > http://www.lanet.lv/~pavenis/rhide.html > >Hate spam? > http://spamcop.net/ >Looking for tetris? > http://fordms2.student.rose-hulman.edu/~tetris/ >Looking for a book? Try Barnes & Noble. >http://bn.bfast.com/booklink/click?sourceid=9831085&categoryid=homepage > > >-- >Damian Yerrick >"I refuse to listen to those who refuse to listen to reason." >See the whole sig: http://www.rose-hulman.edu/~yerricde/sig.html > >This is McAfee VirusScan. Add these two lines to your signature to >prevent the spread of signature viruses. http://www.mcafee.com/