\unnumbchapentry{DJGPP FAQ List}{1}
\chapentry{If You Are In a Hurry}{1}{3}
\chapentry{What is DJGPP?}{2}{7}
\chapentry{Hardware and Software Requirements}{3}{9}
\secentry{The minimum system requirements for using DJGPP}{3}{1}{9}
\secentry{Does it really work under OS/2?}{3}{2}{9}
\secentry{Will DJGPP work on Windows/NT?}{3}{3}{10}
\secentry{Can it run under Linux?}{3}{4}{13}
\secentry{Can I run it on a 286?}{3}{5}{14}
\secentry{MS-Windows applications and DJGPP}{3}{6}{14}
\secentry{Machine you \emph {would like} to buy\dots {}}{3}{7}{18}
\secentry{Machine most of us will \emph {actually} buy \dots {}}{3}{8}{18}
\secentry{How to configure your system for DJGPP}{3}{9}{19}
\secentry{How to get the most RAM for DJGPP programs?}{3}{10}{21}
\chapentry{Where and What to Download?}{4}{23}
\secentry{Where can DJGPP be found?}{4}{1}{23}
\secentry{How do I download DJGPP?}{4}{2}{27}
\secentry{What if I don't know what \samp {FTP} is?}{4}{3}{27}
\secentry{What Files to Download?}{4}{4}{28}
\secentry{How much disk space will I need?}{4}{5}{34}
\secentry{Can I get away with less megabytes?}{4}{6}{35}
\secentry{How to uninstall a DJGPP package.}{4}{7}{35}
\chapentry{The DJGPP Documentation}{5}{37}
\secentry{Where are the documentation files?}{5}{1}{37}
\secentry{How to read the docs without \samp {Info?}}{5}{2}{37}
\secentry{How to print the docs?}{5}{3}{38}
\secentry{Some docs are nowhere to be found\dots {}}{5}{4}{39}
\secentry{What are these \file {foo.1} files?}{5}{5}{40}
\secentry{What if the docs don't say enough?}{5}{6}{41}
\chapentry{When the Compiler (or \samp {Make}, or \samp {Info}, or \dots {}) Crashes\dots {}}{6}{43}
\secentry{GCC or some other DJGPP programs hang}{6}{1}{43}
\secentry{GCC says ``No DPMI''}{6}{2}{43}
\secentry{Buggy DPMI host or junk in DJGPP.ENV can crash v2.x programs}{6}{3}{44}
\secentry{GCC can crash during optimization}{6}{4}{44}
\secentry{Why does GCC say ``cannot exec \code {as}''?}{6}{5}{46}
\secentry{What does ``Internal compiler error'' mean?}{6}{6}{46}
\secentry{What does ``Unknown filetype'' mean?}{6}{7}{49}
\secentry{Compiler hangs, but only when invoked from Make}{6}{8}{49}
\secentry{Info doesn't like some files}{6}{9}{50}
\secentry{Info Crashes During Startup}{6}{10}{50}
\secentry{Why does Bash crash?}{6}{11}{51}
\secentry{DJGPP programs crash on a ThinkPad}{6}{12}{51}
\secentry{Why does the Linker Access my CD Drive or the network?}{6}{13}{52}
\secentry{Other kinds of trouble}{6}{14}{52}
\secentry{I cannot keep up with the error messages}{6}{15}{53}
\secentry{How to search DJGPP archives}{6}{16}{54}
\secentry{How to ask DJGPP gurus for help}{6}{17}{54}
\chapentry{Compiler and Linker Performance}{7}{57}
\secentry{Slow Compilation}{7}{1}{57}
\secentry{Slow Linking}{7}{2}{58}
\chapentry{Compile-time and Link-time Problems}{8}{61}
\secentry{GCC doesn't find the source files}{8}{1}{61}
\secentry{GCC can't find headers or libraries}{8}{2}{61}
\secentry{GCC can't find C\t {++} headers}{8}{3}{64}
\secentry{GCC barfs on C\t {++}-style comments in C programs}{8}{4}{66}
\secentry{How does GCC recognize the source language?}{8}{5}{67}
\secentry{Problems with Objective C}{8}{6}{68}
\secentry{Writing codes fragments which are specific to DJGPP}{8}{7}{68}
\secentry{Undefined references when linking programs}{8}{8}{69}
\secentry{How not to lose your head with all these libraries}{8}{9}{70}
\secentry{DJGPP uses a one-pass linker}{8}{10}{71}
\secentry{Some functions in C\t {++} programs still not found}{8}{11}{72}
\secentry{Unresolved djgpp_first_ctor}{8}{12}{73}
\secentry{C\t {++} programs yield large \file {.exe} file}{8}{13}{73}
\secentry{Why are DJGPP \file {.exe} files so large?}{8}{14}{73}
\secentry{Why don't we use DLLs to make programs smaller?}{8}{15}{75}
\secentry{Linker fails to produce the EXE program}{8}{16}{76}
\secentry{Building Allegro or GRX library fails}{8}{17}{77}
\secentry{C\t {++} compiler says ``NULL redefined''}{8}{18}{78}
\secentry{C\t {++} exceptions support}{8}{19}{78}
\secentry{How to get GCC to generate assembly code}{8}{20}{79}
\secentry{What's wrong with \file {sys/movedata.h}?}{8}{21}{79}
\secentry{How do I create a library of object files?}{8}{22}{80}
\secentry{GCC Cannot find \command {stubify}.}{8}{23}{81}
\chapentry{Running Compiled Programs}{9}{83}
\secentry{My program crashes only in v2.0!}{9}{1}{83}
\secentry{Programs that crash in \code {malloc} or \code {free}.}{9}{2}{83}
\secentry{The call stack traceback}{9}{3}{84}
\secentry{Reading and writing binary files}{9}{4}{85}
\secentry{Buffered screen I/O surprises}{9}{5}{86}
\secentry{What do DJGPP programs need to run?}{9}{6}{87}
\secentry{How many file handles can DJGPP use?}{9}{7}{87}
\secentry{DJGPP and Anti-Virus Software}{9}{8}{89}
\chapentry{Writing and Running Graphics Programs}{10}{91}
\secentry{What GRX driver to use with your SVGA}{10}{1}{91}
\secentry{Accessing the video memory}{10}{2}{91}
\secentry{Graphics screen restoring under Windows}{10}{3}{92}
\secentry{OpenGL and related packages for DJGPP}{10}{4}{93}
\chapentry{Floating Point Issues and FP Emulation}{11}{95}
\secentry{Floating-point code without 80387}{11}{1}{95}
\secentry{Floating point inaccuracies when using emulator}{11}{2}{95}
\secentry{Problems with emulation on Windows}{11}{3}{96}
\chapentry{Debugging DJGPP Programs}{12}{97}
\secentry{How to run a DJGPP program under debugger}{12}{1}{97}
\secentry{How to begin debugging using the crash dump info}{12}{2}{98}
\secentry{How to debug a graphics program}{12}{3}{103}
\secentry{GDB finds only \file {.cc} source}{12}{4}{104}
\secentry{Can GDB print class members?}{12}{5}{105}
\secentry{GDB cannot list source that was #include'd}{12}{6}{105}
\secentry{GDB cannot display or set static uninitialized variables}{12}{7}{106}
\secentry{Debugging bool data type}{12}{8}{106}
\secentry{Debugging the complex data type}{12}{9}{107}
\secentry{Debuggers choke on some programs \dots {}}{12}{10}{107}
\chapentry{Profiling DJGPP Programs}{13}{109}
\secentry{How to profile a DJGPP program}{13}{1}{109}
\secentry{Programs compiled with -pg crash when run}{13}{2}{109}
\secentry{Gprof produces garbled profile}{13}{3}{110}
\secentry{Why is \code {__dpmi_int} so heavily used?}{13}{4}{110}
\secentry{\samp {gprof} doesn't produce output}{13}{5}{110}
\chapentry{Run-time Performance of DJGPP Programs}{14}{113}
\secentry{How efficient is DJGPP-generated code?}{14}{1}{113}
\secentry{Comparing newer versions with old ones}{14}{2}{113}
\secentry{DJGPP programs on a Pentium}{14}{3}{115}
\secentry{I/O speed in DJGPP programs}{14}{4}{115}
\secentry{My ported program runs much slower!}{14}{5}{117}
\chapentry{Run-Time Memory Issues}{15}{119}
\secentry{How much virtual memory do you have?}{15}{1}{119}
\secentry{It seems \code {malloc}/\code {free} don't affect virtual memory\dots {}}{15}{2}{119}
\secentry{Failure to get more memory than is physically installed}{15}{3}{120}
\secentry{Memory allocation fails before all memory is used}{15}{4}{121}
\secentry{Memory allocation fails under Windows}{15}{5}{121}
\secentry{Memory allocation peculiarities under Windows 9X}{15}{6}{121}
\secentry{Memory allocation fails under EMM386 or HIMEM}{15}{7}{122}
\secentry{How much memory do parent DJGPP programs leave for their child?}{15}{8}{122}
\secentry{How much stack can I have in DJGPP programs?}{15}{9}{123}
\secentry{Memory-related problems in Windows 98}{15}{10}{125}
\chapentry{Command-line Arguments Handling in DJGPP}{16}{127}
\secentry{Filename wildcards expansion under DJGPP}{16}{1}{127}
\secentry{How to disable filename wildcards expansion}{16}{2}{128}
\secentry{How to pass command-line arguments with quotes or \samp {@}}{16}{3}{128}
\secentry{How to pass command lines longer than 126 characters}{16}{4}{129}
\secentry{What is the maximum length of command line under DJGPP}{16}{5}{130}
\secentry{Why Make passes only 126 characters to programs?}{16}{6}{131}
\chapentry{Converting DOS Programs/Libraries to DJGPP}{17}{133}
\secentry{GCC/Gas won't accept valid assembly code \dots {}}{17}{1}{133}
\secentry{Converting between Intel ASM syntax and AT&T syntax}{17}{2}{134}
\secentry{Converted code GP Faults!}{17}{3}{136}
\secentry{Problems with combining assembly and C/C\t {++} modules}{17}{4}{136}
\secentry{I want to use a \file {.obj} or \file {.lib} code with DJGPP}{17}{5}{137}
\secentry{I {\bf must} use my 16-bit code with DJGPP!!}{17}{6}{138}
\secentry{What should I do with those ``near'' and ``far'' declarations?}{17}{7}{138}
\secentry{How to convert _AX pseudo-registers?}{17}{8}{139}
\chapentry{Low-level DOS/BIOS and Hardware-oriented Programming}{18}{141}
\secentry{Got ``Unsupported INT 0xNN'' calling \code {int86}}{18}{1}{141}
\secentry{How to use buffers with DOS/BIOS services}{18}{2}{141}
\secentry{How to call real-mode functions}{18}{3}{143}
\secentry{How to move data between your program and conventional memory}{18}{4}{144}
\secentry{How to move structs returned by real-mode services?}{18}{5}{147}
\secentry{Fast access to absolute addresses}{18}{6}{148}
\secentry{Accessing absolute address above 1MB}{18}{7}{150}
\secentry{How to make DOS/BIOS call your function}{18}{8}{151}
\secentry{How to hook hardware interrupts}{18}{9}{152}
\secentry{Should I use _go32_XXX or __dpmi_YYY functions?}{18}{10}{156}
\secentry{Hardware interrupt hooking has its subtleties}{18}{11}{156}
\secentry{Inline Assembly code with GCC}{18}{12}{158}
\secentry{Using DMA with DJGPP}{18}{13}{159}
\chapentry{Legal Aspects}{19}{161}
\secentry{Legal (un)restrictions on DJGPP applications}{19}{1}{161}
\secentry{Legal restrictions of DJGPP utilities and libraries}{19}{2}{162}
\chapentry{Getting Help}{20}{165}
\secentry{Don't post DJGPP-specific problems to GNU News groups}{20}{1}{165}
\secentry{How to post to the DJGPP forum}{20}{2}{165}
\secentry{How to become a subscriber to the mailing list}{20}{3}{165}
\secentry{How to unsubscribe from the mailing list}{20}{4}{166}
\secentry{Is it okay to post messages in languages other than English?}{20}{5}{167}
\chapentry{Version 2 vs v1.x}{21}{169}
\secentry{New features in DJGPP v2}{21}{1}{169}
\secentry{DJGPP environment in v2.x}{21}{2}{169}
\secentry{Why are new DJGPP versions released so slowly?}{21}{3}{170}
\secentry{Where to find the best C library for DJGPP}{21}{4}{171}
\chapentry{Miscellany}{22}{173}
\secentry{Problems with using \sc {rhide}.}{22}{1}{173}
\secentry{Unzipping complains about duplicate/invalid files.}{22}{2}{174}
\secentry{How to change a DJGPP package?}{22}{3}{174}
\secentry{Where to find DJGPP packages?}{22}{4}{176}
\secentry{How to create symbolic links to programs}{22}{5}{182}
\secentry{Where to find the DPMI specification?}{22}{6}{183}
\secentry{The DJGPP Web site.}{22}{7}{184}
\secentry{Where to upload your contributions to DJGPP}{22}{8}{184}
\secentry{DJGPP as cross-compiler}{22}{9}{185}
\secentry{GCC says ``garbage at end of number''}{22}{10}{186}
\secentry{What should sizeof (struct xyzzy) return?}{22}{11}{187}
\secentry{C\t {++} doesn't pack structs!}{22}{12}{188}
\secentry{How to avoid ``Abort, Retry, Fail'' messages}{22}{13}{189}
\secentry{What is that \file {go32-v2.exe} program?}{22}{14}{189}
\secentry{What is DXE?}{22}{15}{190}
\secentry{Long Filenames Don't Work!}{22}{16}{191}
\secentry{Make says ``missing separator''}{22}{17}{191}
\secentry{Make says ``\file {foo} has modification time in the future''}{22}{18}{192}
\secentry{How to Set Up a Dual DOS/Windows Installation}{22}{19}{192}
\secentry{What is in that \file {zoneinfo} directory?}{22}{20}{194}
\secentry{The dark secrets of the /dev/ directory\dots {}}{22}{21}{195}
\secentry{How about switching to ELF as DJGPP's object file format?}{22}{22}{195}
\secentry{How to produce random numbers?}{22}{23}{196}
\secentry{What are all these buzzwords I see?}{22}{24}{197}
\secentry{What should the \code {main} function return in a C/C\t {++} program?}{22}{25}{198}
\secentry{Rebooting the PC from a DJGPP program}{22}{26}{198}
\secentry{Delaying execution for short periods of time}{22}{27}{199}
\secentry{CGI programs and DJGPP}{22}{28}{199}
\secentry{Why Do I Get EOF From \code {stdin}?}{22}{29}{200}
\secentry{Generating the FAQ in your favorite format}{22}{30}{200}
\chapentry{About this FAQ}{23}{203}
\chapentry{Topic Index}{24}{205}
\chapentry{Program Index}{25}{221}
