\entry{DJGPP, what it is}{3}{DJGPP, what it is} \entry{Hardware requirements}{5}{Hardware requirements} \entry{Required hardware, general}{5}{Required hardware, general} \entry{Compatibility, hardware, general}{5}{Compatibility, hardware, general} \entry{Compatibility, operating systems, general}{5}{Compatibility, operating systems, general} \entry{Minimal hardware requirements}{5}{Minimal hardware requirements} \entry{Hardware requirements, minimal}{5}{Hardware requirements, minimal} \entry{i386SX}{5}{i386SX} \entry{Disk space, required for installation}{5}{Disk space, required for installation} \entry{System RAM, minimum}{5}{System RAM, minimum} \entry{Minimum system RAM}{5}{Minimum system RAM} \entry{Minimum system RAM, CWSDPMI}{5}{Minimum system RAM, CWSDPMI} \entry{Recommended system RAM, for C programs compilation}{5}{Recommended system RAM, for C programs compilation} \entry{Recommended system RAM, for C{\tt\char 43}{\tt\char 43} programs compilation}{5}{Recommended system RAM, for C\t {++} programs compilation} \entry{C programs compilation, recommended system RAM}{5}{C programs compilation, recommended system RAM} \entry{C{\tt\char 43}{\tt\char 43} programs compilation, recommended system RAM}{5}{C\t {++} programs compilation, recommended system RAM} \entry{DPMI services, required to run DJGPP}{5}{DPMI services, required to run DJGPP} \entry{DPMI services, problems with Novell NWDOS 7}{5}{DPMI services, problems with Novell NWDOS 7} \entry{Compatibility, Windows 3.X}{5}{Compatibility, Windows 3.X} \entry{Compatibility, Windows 9X}{5}{Compatibility, Windows 9X} \entry{Compatibility, OS/2}{5}{Compatibility, OS/2} \entry{Compatibility, Warp}{5}{Compatibility, Warp} \entry{Compatibility, Windows/NT}{5}{Compatibility, Windows/NT} \entry{Compatibility, Novell NWDOS 7}{5}{Compatibility, Novell NWDOS 7} \entry{Compatibility, Linux}{5}{Compatibility, Linux} \entry{Spawning child processes, OS/2}{5}{Spawning child processes, OS/2} \entry{Child processes, spawning under OS/2}{5}{Child processes, spawning under OS/2} \entry{Incompatibilities, OS/2}{5}{Incompatibilities, OS/2} \entry{Incompatibilities, OS/2}{5}{Incompatibilities, OS/2} \entry{Incompatibilities, Warp}{5}{Incompatibilities, Warp} \entry{Incompatibilities, Windows/NT}{6}{Incompatibilities, Windows/NT} \entry{Long Filenames aren't supported on Windows/NT}{6}{Long Filenames aren't supported on Windows/NT} \entry{LFN API, not supported by Windows/NT}{6}{LFN API, not supported by Windows/NT} \entry{LFN driver for NT, alpha version}{6}{LFN driver for NT, alpha version} \entry{Cygnus GCC port to Windows}{6}{Cygnus GCC port to Windows} \entry{Graphics, limitations on Windows/NT}{6}{Graphics, limitations on Windows/NT} \entry{Direct hardware access on Windows/NT}{6}{Direct hardware access on Windows/NT} \entry{Spawning child programs on Windows/NT and 9X}{6}{Spawning child programs on Windows/NT and 9X} \entry{Programs using nearptr fail on Windows/NT}{6}{Programs using nearptr fail on Windows/NT} \entry{Incompatibilities, Linux DOSEmu}{7}{Incompatibilities, Linux DOSEmu} \entry{DOSEmu, incompatibilities with DJGPP}{7}{DOSEmu, incompatibilities with DJGPP} \entry{DOSEmu, slow response to interactive programs}{7}{DOSEmu, slow response to interactive programs} \entry{Compiling large programs on DOSEmu}{7}{Compiling large programs on DOSEmu} \entry{Floating-point instructions and GNU Make}{8}{Floating-point instructions and GNU Make} \entry{Mouse usage crashes RHIDE on DOSEmu}{8}{Mouse usage crashes RHIDE on DOSEmu} \entry{VFAT32 support under DOSEmu}{8}{VFAT32 support under DOSEmu} \entry{FAT32 support under DOSEmu}{8}{FAT32 support under DOSEmu} \entry{i286}{8}{i286} \entry{Incompatibilities, i286}{8}{Incompatibilities, i286} \entry{MS-Windows programming under DJGPP}{8}{MS-Windows programming under DJGPP} \entry{Windows applications with DJGPP}{8}{Windows applications with DJGPP} \entry{Win32 programming with GCC}{8}{Win32 programming with GCC} \entry{Windows 9X/NT programming with Cygnus GCC port}{8}{Windows 9X/NT programming with Cygnus GCC port} \entry{Cygnus port of GCC for Windows 9X and NT}{8}{Cygnus port of GCC for Windows 9X and NT} \entry{Resource compiler, doesn't work in RSXNTDJ}{9}{Resource compiler, doesn't work in RSXNTDJ} \entry{Platform SDK, for RSXNTDJ}{9}{Platform SDK, for RSXNTDJ} \entry{SDK, for RSXNTDJ}{9}{SDK, for RSXNTDJ} \entry{Undefined externals, with stdio functions and RSXNTDJ}{9}{Undefined externals, with stdio functions and RSXNTDJ} \entry{Stack size, in RSXNTDJ programs}{9}{Stack size, in RSXNTDJ programs} \entry{Linker, from RSXNTDJ, and unresolved externals}{9}{Linker, from RSXNTDJ, and unresolved externals} \entry{Undefined references, and the RSXNTDJ linker}{9}{Undefined references, and the RSXNTDJ linker} \entry{Configuration, the best}{10}{Configuration, the best} \entry{System configuration, the best}{10}{System configuration, the best} \entry{Environment variables, DJGPP}{10}{Environment variables, DJGPP} \entry{Configuration, reasonable}{11}{Configuration, reasonable} \entry{Compiling large source files}{11}{Compiling large source files} \entry{Compiling GCC and CPP}{11}{Compiling GCC and CPP} \entry{Disk cache, when compiling large programs}{11}{Disk cache, when compiling large programs} \entry{RAM disk, when compiling large programs}{11}{RAM disk, when compiling large programs} \entry{Compiling large programs, disk cache settings}{11}{Compiling large programs, disk cache settings} \entry{Compiling large programs, RAM disk settings}{11}{Compiling large programs, RAM disk settings} \entry{Configuration, for optimal performance}{11}{Configuration, for optimal performance} \entry{Optimal performance, system configuration}{11}{Optimal performance, system configuration} \entry{Disk cache, recommended settings}{11}{Disk cache, recommended settings} \entry{RAM disk, recommended settings}{11}{RAM disk, recommended settings} \entry{Optimal performance, disk cache settings}{11}{Optimal performance, disk cache settings} \entry{Optimal performance, RAM disk settings}{11}{Optimal performance, RAM disk settings} \entry{Optimal performance, CWSDPMI tuning}{11}{Optimal performance, CWSDPMI tuning} \entry{Memory manager, settings for optimal performance}{11}{Memory manager, settings for optimal performance} \entry{Compiling GCC and CPP, RAM disk}{11}{Compiling GCC and CPP, RAM disk} \entry{Slow compilation, tuning CWSDPMI}{11}{Slow compilation, tuning CWSDPMI} \entry{Machines with low extended RAM, tuning CWSDPMI}{11}{Machines with low extended RAM, tuning CWSDPMI} \entry{Excessive paging, tuning CWSDPMI}{11}{Excessive paging, tuning CWSDPMI} \entry{Tuning CWSDPMI for optimal performance}{11}{Tuning CWSDPMI for optimal performance} \entry{Memory managers, recommended for use with DJGPP}{13}{Memory managers, recommended for use with DJGPP} \entry{Setting up DJGPP with EMM386}{13}{Setting up DJGPP with EMM386} \entry{Network installation}{13}{Network installation} \entry{Installing DJGPP on networked drives}{13}{Installing DJGPP on networked drives} \entry{Physical memory, more than 64MB}{13}{Physical memory, more than 64MB} \entry{OS/2 supports up to 512MB of DPMI memory}{13}{OS/2 supports up to 512MB of DPMI memory} \entry{DJGPP, how to get it}{15}{DJGPP, how to get it} \entry{Getting DJGPP}{15}{Getting DJGPP} \entry{Downloading DJGPP}{15}{Downloading DJGPP} \entry{DJGPP, where to download}{15}{DJGPP, where to download} \entry{SimTel mirrors' list}{15}{SimTel mirrors' list} \entry{Differences between SimTel and CCT ftp sites}{15}{Differences between SimTel and CCT ftp sites} \entry{CCT mirrors' list}{19}{CCT mirrors' list} \entry{Downloading DJGPP with FTP}{21}{Downloading DJGPP with FTP} \entry{Downloading DJGPP via e-mail}{21}{Downloading DJGPP via e-mail} \entry{DJGPP, downloading with FTP}{21}{DJGPP, downloading with FTP} \entry{FTP, downloading DJGPP}{21}{FTP, downloading DJGPP} \entry{Downloading DJGPP with WWW}{21}{Downloading DJGPP with WWW} \entry{DJGPP, downloading with WWW}{21}{DJGPP, downloading with WWW} \entry{WWW, downloading DJGPP}{21}{WWW, downloading DJGPP} \entry{DJGPP, downloading with Gopher}{21}{DJGPP, downloading with Gopher} \entry{Gopher, downloading DJGPP}{21}{Gopher, downloading DJGPP} \entry{DJGPP, downloading via e-mail}{21}{DJGPP, downloading via e-mail} \entry{E-mail, downloading DJGPP}{21}{E-mail, downloading DJGPP} \entry{CD-ROM, getting DJGPP}{21}{CD-ROM, getting DJGPP} \entry{Getting DJGPP from a CD-ROM}{21}{Getting DJGPP from a CD-ROM} \entry{Files, minimum set to download}{22}{Files, minimum set to download} \entry{Packages, which to download}{22}{Packages, which to download} \entry{DJGPP, a list of packages}{22}{DJGPP, a list of packages} \entry{List of DJGPP packages}{22}{List of DJGPP packages} \entry{Packages, DJGPP, list of}{22}{Packages, DJGPP, list of} \entry{DJGPP distribution, list of}{22}{DJGPP distribution, list of} \entry{Downloading, individual DJGPP files}{22}{Downloading, individual DJGPP files} \entry{Missing DJGPP files, downloading}{22}{Missing DJGPP files, downloading} \entry{Files, missing, where to download}{22}{Files, missing, where to download} \entry{Installation of Info docs, a utility}{23}{Installation of Info docs, a utility} \entry{Printing graphics, using GRX}{26}{Printing graphics, using GRX} \entry{Graphics print-out, using GRX}{26}{Graphics print-out, using GRX} \entry{Allegro, home page and mailing list}{27}{Allegro, home page and mailing list} \entry{Curses library for DJGPP}{27}{Curses library for DJGPP} \entry{Files, required disk space}{27}{Files, required disk space} \entry{Packages, required disk space}{27}{Packages, required disk space} \entry{Memory size reported by go32-v2}{27}{Memory size reported by go32-v2} \entry{Disk space, using less of it}{28}{Disk space, using less of it} \entry{FTP, downloading DJGPP in batch mode}{28}{FTP, downloading DJGPP in batch mode} \entry{Automated downloading from a PC}{28}{Automated downloading from a PC} \entry{Automated downloading from a Unix box}{28}{Automated downloading from a Unix box} \entry{Automated FTP from a Unix box}{28}{Automated FTP from a Unix box} \entry{Uninstalling a package}{29}{Uninstalling a package} \entry{Deleting a package}{29}{Deleting a package} \entry{Removing a package}{29}{Removing a package} \entry{DJGPP Documentation}{31}{DJGPP Documentation} \entry{DJGPP documentation, where to find it}{31}{DJGPP documentation, where to find it} \entry{Getting documentation}{31}{Getting documentation} \entry{Reading documentation}{31}{Reading documentation} \entry{Browsing documentation}{31}{Browsing documentation} \entry{Documentation, reading}{31}{Documentation, reading} \entry{DJGPP documentation, reading as ASCII file}{31}{DJGPP documentation, reading as ASCII file} \entry{Documentation, converting to plain ASCII}{31}{Documentation, converting to plain ASCII} \entry{Reading documentation, converting to plain ASCII}{31}{Reading documentation, converting to plain ASCII} \entry{Reading documentation with text editor/viewer}{31}{Reading documentation with text editor/viewer} \entry{Reading documentation with a Web browser}{31}{Reading documentation with a Web browser} \entry{DJGPP documentation, printing}{32}{DJGPP documentation, printing} \entry{Documentation, converting to PostScript format}{32}{Documentation, converting to PostScript format} \entry{PostScript documentation}{32}{PostScript documentation} \entry{Printing DJGPP documentation}{32}{Printing DJGPP documentation} \entry{Library docs, missing libc2.tex}{32}{Library docs, missing libc2.tex} \entry{Library docs, problems in generating printed version}{32}{Library docs, problems in generating printed version} \entry{libc2.tex, missing file}{32}{libc2.tex, missing file} \entry{DJGPP documentation, in PostScript format}{32}{DJGPP documentation, in PostScript format} \entry{Documentation, in PostScript format}{32}{Documentation, in PostScript format} \entry{DJGPP documentation, reading with a Web browser}{32}{DJGPP documentation, reading with a Web browser} \entry{HTML format, DJGPP documentation}{32}{HTML format, DJGPP documentation} \entry{DJGPP documentation, look in source distributions}{33}{DJGPP documentation, look in source distributions} \entry{Documentation, inside source distribution archives}{33}{Documentation, inside source distribution archives} \entry{DJGPP documentation, in man page format}{33}{DJGPP documentation, in man page format} \entry{Documentation, in man page format}{33}{Documentation, in man page format} \entry{Man pages, how to read}{33}{Man pages, how to read} \entry{DJGPP documentation, see source files}{34}{DJGPP documentation, see source files} \entry{Source files, using as the best docs}{34}{Source files, using as the best docs} \entry{DJGPP programs, problems with}{37}{DJGPP programs, problems with} \entry{Problems with DJGPP programs}{37}{Problems with DJGPP programs} \entry{Crash, DJGPP programs}{37}{Crash, DJGPP programs} \entry{Hang, DJGPP programs}{37}{Hang, DJGPP programs} \entry{Reboot, when running DJGPP programs}{37}{Reboot, when running DJGPP programs} \entry{DJGPP.ENV file causes GCC 2.8 to hang}{37}{DJGPP.ENV file causes GCC 2.8 to hang} \entry{No DPMI error message}{37}{No DPMI error message} \entry{DJGPP won't run, prints ``No DPMI''}{37}{DJGPP won't run, prints ``No DPMI''} \entry{Load error---no DPMI}{37}{Load error---no DPMI} \entry{DJGPP programs, problems with DPMI host}{38}{DJGPP programs, problems with DPMI host} \entry{DPMI host bugs, might crash DJGPP programs}{38}{DPMI host bugs, might crash DJGPP programs} \entry{Reboot, every DJGPP program}{38}{Reboot, every DJGPP program} \entry{Hang, all DJGPP programs}{38}{Hang, all DJGPP programs} \entry{Novell NDOS, buggy DPMI services crash DJGPP}{38}{Novell NDOS, buggy DPMI services crash DJGPP} \entry{Caldera OpenDOS, DPMI services crash DJGPP}{38}{Caldera OpenDOS, DPMI services crash DJGPP} \entry{DJGPP.ENV, trailing junk crashes Info}{38}{DJGPP.ENV, trailing junk crashes Info} \entry{Optimization crashes GCC}{38}{Optimization crashes GCC} \entry{Tracing compilation progress with -Q}{38}{Tracing compilation progress with -Q} \entry{Compilation progress, GCC switch}{38}{Compilation progress, GCC switch} \entry{Virtual memory exhausted, during compilation}{38}{Virtual memory exhausted, during compilation} \entry{Compiling, on machines without a co-processor}{38}{Compiling, on machines without a co-processor} \entry{GCC aborts with ``Installation problem, cannot exec as''}{40}{GCC aborts with ``Installation problem, cannot exec as''} \entry{Cannot exec as, GCC message}{40}{Cannot exec as, GCC message} \entry{GCC aborts with ``Installation problem, cannot exec cpp''}{40}{GCC aborts with ``Installation problem, cannot exec cpp''} \entry{Cannot exec cpp, GCC message}{40}{Cannot exec cpp, GCC message} \entry{GCC aborts with ``Internal compiler error''}{40}{GCC aborts with ``Internal compiler error''} \entry{GCC says ``Abort!'' during compilation}{40}{GCC says ``Abort!'' during compilation} \entry{Internal compiler error, when compiling C{\tt\char 43}{\tt\char 43} programs}{40}{Internal compiler error, when compiling C\t {++} programs} \entry{Abort! message during compilation}{40}{Abort! message during compilation} \entry{Environment variable DJGPP is not defined message}{40}{Environment variable DJGPP is not defined message} \entry{C compiler overflows its stack for large programs}{40}{C compiler overflows its stack for large programs} \entry{C{\tt\char 43}{\tt\char 43} compiler overflows its stack for large programs}{40}{C\t {++} compiler overflows its stack for large programs} \entry{Environment variable DJGPP point to file which does not exist message}{41}{Environment variable DJGPP point to file which does not exist message} \entry{Environment variable DJGPP points to a wrong or corrupt file message}{41}{Environment variable DJGPP points to a wrong or corrupt file message} \entry{Unknown filetype, GCC message}{42}{Unknown filetype, GCC message} \entry{Mixing v2.0 GCC with CC1PLUS from v1.x}{42}{Mixing v2.0 GCC with CC1PLUS from v1.x} \entry{Virus infection cause ``Not COFF'' message}{42}{Virus infection cause ``Not COFF'' message} \entry{Not COFF error message from DJGPP programs}{42}{Not COFF error message from DJGPP programs} \entry{GCC hangs/crashes under Make}{43}{GCC hangs/crashes under Make} \entry{Mixing v2.x Make with v1.x programs hangs the machine}{43}{Mixing v2.x Make with v1.x programs hangs the machine} \entry{Spawning v2.x programs from v1.x programs doesn't work}{43}{Spawning v2.x programs from v1.x programs doesn't work} \entry{16-bit DPMI programs cannot run under DJGPP}{43}{16-bit DPMI programs cannot run under DJGPP} \entry{PATH, non-DJGPP binaries can crash GCC}{43}{PATH, non-DJGPP binaries can crash GCC} \entry{Compiler, non-DJGPP, crashes under Make}{43}{Compiler, non-DJGPP, crashes under Make} \entry{Can't find node ``Top'', Info message}{43}{Can't find node ``Top'', Info message} \entry{Info won't display a file}{43}{Info won't display a file} \entry{Info waits for 15 seconds}{43}{Info waits for 15 seconds} \entry{Info hangs for non-existent topics}{43}{Info hangs for non-existent topics} \entry{Info viewer crashes at startup}{44}{Info viewer crashes at startup} \entry{{\tt\hat}Z character at end of DJGPP.ENV}{44}{^Z character at end of DJGPP.ENV} \entry{/bin/sh in shell scripts}{44}{/bin/sh in shell scripts} \entry{Shell scripts, failures and crashes}{44}{Shell scripts, failures and crashes} \entry{Pipe errors in shell scripts}{44}{Pipe errors in shell scripts} \entry{Disks, accessed by the linker}{45}{Disks, accessed by the linker} \entry{Drives, accessed by the linker}{45}{Drives, accessed by the linker} \entry{Directories accessed by the linker}{45}{Directories accessed by the linker} \entry{Linker, accesses random drives}{45}{Linker, accesses random drives} \entry{Zip drive, accessed by the linker}{45}{Zip drive, accessed by the linker} \entry{CD-ROM, accessed by the linker}{45}{CD-ROM, accessed by the linker} \entry{Programs crash, general troubleshooting}{45}{Programs crash, general troubleshooting} \entry{Crashes, general troubleshooting}{45}{Crashes, general troubleshooting} \entry{Compiler crashes, which subprogram of}{45}{Compiler crashes, which subprogram of} \entry{GCC crashes, which subprogram of}{45}{GCC crashes, which subprogram of} \entry{Programs crash, saving debugging output}{46}{Programs crash, saving debugging output} \entry{Redirecting GCC messages to a file}{46}{Redirecting GCC messages to a file} \entry{Standard output/error stream, redirecting to a file}{46}{Standard output/error stream, redirecting to a file} \entry{Error messages, redirecting to a file}{46}{Error messages, redirecting to a file} \entry{Programs crash, searching DJGPP archives}{46}{Programs crash, searching DJGPP archives} \entry{Solved problems, searching in DJGPP archives}{46}{Solved problems, searching in DJGPP archives} \entry{Searching DJGPP archives}{46}{Searching DJGPP archives} \entry{Problems, searching for solution in DJGPP archives}{46}{Problems, searching for solution in DJGPP archives} \entry{DJGPP archives, how to search}{46}{DJGPP archives, how to search} \entry{Archives, DJGPP mailing list/News group, how to search}{46}{Archives, DJGPP mailing list/News group, how to search} \entry{Problems, asking for help}{47}{Problems, asking for help} \entry{Gurus, asking for help}{47}{Gurus, asking for help} \entry{DJGPP users, asking for help}{47}{DJGPP users, asking for help} \entry{Asking for help}{47}{Asking for help} \entry{Help, asking for}{47}{Help, asking for} \entry{Compiler speed}{49}{Compiler speed} \entry{Linker speed}{49}{Linker speed} \entry{Compilation speed}{49}{Compilation speed} \entry{Speed of compilation}{49}{Speed of compilation} \entry{Slow compilation}{49}{Slow compilation} \entry{BIOS setup, influence on compilation speed}{49}{BIOS setup, influence on compilation speed} \entry{Disk cache, influence on compilation speed}{49}{Disk cache, influence on compilation speed} \entry{RAM disk, influence on compilation speed}{49}{RAM disk, influence on compilation speed} \entry{Disabling virtual memory for CWSDPMI}{49}{Disabling virtual memory for CWSDPMI} \entry{Virtual memory, how to disable it for CWSDPMI}{49}{Virtual memory, how to disable it for CWSDPMI} \entry{Linking speed, improve by stub-editing ld.exe}{50}{Linking speed, improve by stub-editing ld.exe} \entry{Network installation makes linking slow}{50}{Network installation makes linking slow} \entry{Slow linking, possible reasons}{50}{Slow linking, possible reasons} \entry{Compile-time problems}{53}{Compile-time problems} \entry{Link-time problems}{53}{Link-time problems} \entry{Header files, GCC can't find}{53}{Header files, GCC can't find} \entry{Libraries, GCC can't find}{53}{Libraries, GCC can't find} \entry{crt0.o, GCC can't find}{53}{crt0.o, GCC can't find} \entry{Missing header files}{53}{Missing header files} \entry{Missing libraries}{53}{Missing libraries} \entry{Missing crt0.o}{53}{Missing crt0.o} \entry{Linker fails to find crt0.o under Novell}{53}{Linker fails to find crt0.o under Novell} \entry{DJGPP environment variable, how to set and test}{53}{DJGPP environment variable, how to set and test} \entry{Long filenames in setting DJGPP env. variable}{53}{Long filenames in setting DJGPP env. variable} \entry{DJGPP environment variable, setting under LFN}{53}{DJGPP environment variable, setting under LFN} \entry{DJGPP.ENV syntax explained}{53}{DJGPP.ENV syntax explained} \entry{Header files, C{\tt\char 43}{\tt\char 43}, GCC can't find}{55}{Header files, C\t {++}, GCC can't find} \entry{Missing C{\tt\char 43}{\tt\char 43} header files}{55}{Missing C\t {++} header files} \entry{C{\tt\char 43}{\tt\char 43}, missing header files}{55}{C\t {++}, missing header files} \entry{iostream.h, GCC can't find}{55}{iostream.h, GCC can't find} \entry{String.h, GCC can't find}{55}{String.h, GCC can't find} \entry{Regex.h, GCC can't find}{55}{Regex.h, GCC can't find} \entry{Complex.h, GCC can't find}{55}{Complex.h, GCC can't find} \entry{stdiostream.h, GCC can't find}{55}{stdiostream.h, GCC can't find} \entry{streambuf.h, GCC can't find}{55}{streambuf.h, GCC can't find} \entry{iostreamP.h, GCC can't find}{55}{iostreamP.h, GCC can't find} \entry{C{\tt\char 43}{\tt\char 43}-style comments in C programs, GCC won't compile}{56}{C\t {++}-style comments in C programs, GCC won't compile} \entry{Comments, C{\tt\char 43}{\tt\char 43}-style in C programs}{56}{Comments, C\t {++}-style in C programs} \entry{-ansi switch and C{\tt\char 43}{\tt\char 43}-style comments in C programs}{56}{-ansi switch and C\t {++}-style comments in C programs} \entry{-traditional switch and C{\tt\char 43}{\tt\char 43}-style comments in C programs}{56}{-traditional switch and C\t {++}-style comments in C programs} \entry{GCC can't recognize file format}{57}{GCC can't recognize file format} \entry{GCC can't recognize source language}{57}{GCC can't recognize source language} \entry{File format not recognized by GCC}{57}{File format not recognized by GCC} \entry{Letter case in filenames submitted to GCC}{57}{Letter case in filenames submitted to GCC} \entry{Compilation messages, bogus}{57}{Compilation messages, bogus} \entry{Compiling Objective C sources}{58}{Compiling Objective C sources} \entry{Objective C, compiling}{58}{Objective C, compiling} \entry{DJGPP-specific code}{59}{DJGPP-specific code} \entry{Code, DJGPP-specific}{59}{Code, DJGPP-specific} \entry{Pre-processor symbols, DJGPP-specific}{59}{Pre-processor symbols, DJGPP-specific} \entry{{\_}{\_}DJGPP{\_}{\_} pre-processor symbol}{59}{__DJGPP__ pre-processor symbol} \entry{{\_}{\_}DJGPP{\_}MINOR{\_}{\_} pre-processor symbol}{59}{__DJGPP_MINOR__ pre-processor symbol} \entry{{\_}{\_}GO32{\_}{\_} pre-processor symbol}{59}{__GO32__ pre-processor symbol} \entry{Unresolved externals}{59}{Unresolved externals} \entry{Unresolved externals in C{\tt\char 43}{\tt\char 43} programs, use GXX}{59}{Unresolved externals in C\t {++} programs, use GXX} \entry{Undefined references, when linking Flex programs}{59}{Undefined references, when linking Flex programs} \entry{Linking programs, unresolved library functions}{59}{Linking programs, unresolved library functions} \entry{Linking C{\tt\char 43}{\tt\char 43} programs, use the GXX driver}{59}{Linking C\t {++} programs, use the GXX driver} \entry{Libraries, optional, how to link}{59}{Libraries, optional, how to link} \entry{Library functions, linker won't find}{59}{Library functions, linker won't find} \entry{Floating-point math functions, standard and high-quality}{59}{Floating-point math functions, standard and high-quality} \entry{C{\tt\char 43}{\tt\char 43} STL library, not in lgp271b distribution}{59}{C\t {++} STL library, not in lgp271b distribution} \entry{STL library, not in lgp271b distribution}{59}{STL library, not in lgp271b distribution} \entry{Linker cannot find -lstdcx}{59}{Linker cannot find -lstdcx} \entry{-lstdcx, linker cannot find}{59}{-lstdcx, linker cannot find} \entry{Linking Flex programs}{59}{Linking Flex programs} \entry{Flex programs, linking}{59}{Flex programs, linking} \entry{iostream library, why use it}{59}{iostream library, why use it} \entry{obstack package}{59}{obstack package} \entry{regex package from GNU}{59}{regex package from GNU} \entry{libgpp library}{59}{libgpp library} \entry{libg{\tt\char 43}{\tt\char 43} library}{59}{libg++ library} \entry{libstdc{\tt\char 43}{\tt\char 43} standard templates library}{59}{libstdc++ standard templates library} \entry{Math library, default ANSI/ISO and high-quality functions}{59}{Math library, default ANSI/ISO and high-quality functions} \entry{Linking against optional libraries}{59}{Linking against optional libraries} \entry{Linker can't find library functions}{59}{Linker can't find library functions} \entry{Libraries, searching for functions}{60}{Libraries, searching for functions} \entry{Functions, which is in what library}{60}{Functions, which is in what library} \entry{Libraries, order on compilation/link command line}{61}{Libraries, order on compilation/link command line} \entry{Linking programs, unresolved library functions, libraries' order}{61}{Linking programs, unresolved library functions, libraries' order} \entry{Library functions, linker won't find, libraries' order}{61}{Library functions, linker won't find, libraries' order} \entry{Library functions, linker won't find in non-default directories}{61}{Library functions, linker won't find in non-default directories} \entry{Environment variables, linker}{61}{Environment variables, linker} \entry{Unresolved externals, C{\tt\char 43}{\tt\char 43}}{62}{Unresolved externals, C\t {++}} \entry{Linking programs, unresolved C{\tt\char 43}{\tt\char 43} library functions}{62}{Linking programs, unresolved C\t {++} library functions} \entry{Library functions, C{\tt\char 43}{\tt\char 43}, linker won't find}{62}{Library functions, C\t {++}, linker won't find} \entry{Inline functions, linker won't find}{62}{Inline functions, linker won't find} \entry{C{\tt\char 43}{\tt\char 43} libraries compiled with v2.8.0 don't mix with 2.8.1}{62}{C\t {++} libraries compiled with v2.8.0 don't mix with 2.8.1} \entry{libgcc.a, should be in sync with the compiler}{62}{libgcc.a, should be in sync with the compiler} \entry{extern {\tt\char 34}C{\tt\char 34} qualifier}{62}{extern "C" qualifier} \entry{Linking C functions with C{\tt\char 43}{\tt\char 43} programs}{62}{Linking C functions with C\t {++} programs} \entry{C{\tt\char 43}{\tt\char 43} programs, linking with C functions}{62}{C\t {++} programs, linking with C functions} \entry{Linker can't find some C{\tt\char 43}{\tt\char 43} library functions}{62}{Linker can't find some C\t {++} library functions} \entry{iostream functions, linker can't find}{62}{iostream functions, linker can't find} \entry{{\_}{\_}throw and {\_}{\_}eh{\_}pc, undefined references}{62}{__throw and __eh_pc, undefined references} \entry{{\_}{\_}eh{\_}pc and {\_}{\_}throw, undefined references}{62}{__eh_pc and __throw, undefined references} \entry{complex.h functions, linker can't find}{62}{complex.h functions, linker can't find} \entry{djgpp{\_}first{\_}ctor, unresolved by linker}{63}{djgpp_first_ctor, unresolved by linker} \entry{djgpp{\_}first{\_}dtor, unresolved by linker}{63}{djgpp_first_dtor, unresolved by linker} \entry{Linker won't find djgpp{\_}first{\_}dtor symbol}{63}{Linker won't find djgpp_first_dtor symbol} \entry{Unresolved externals, djgpp{\_}first{\_}ctor}{63}{Unresolved externals, djgpp_first_ctor} \entry{C{\tt\char 43}{\tt\char 43} programs, large executable}{63}{C\t {++} programs, large executable} \entry{Static array enlarges C{\tt\char 43}{\tt\char 43} executable}{63}{Static array enlarges C\t {++} executable} \entry{Executable, bloated by static array}{63}{Executable, bloated by static array} \entry{-fconserve-space switch}{63}{-fconserve-space switch} \entry{Executable size, how to make smaller}{63}{Executable size, how to make smaller} \entry{Compressing DJGPP executables}{63}{Compressing DJGPP executables} \entry{EXE compressor for DJGPP}{63}{EXE compressor for DJGPP} \entry{Debugging symbols, how to strip from executables}{63}{Debugging symbols, how to strip from executables} \entry{Executable, how to strip off debugging symbols}{63}{Executable, how to strip off debugging symbols} \entry{Linker fails because of Windows 9X shortcut files}{64}{Linker fails because of Windows 9X shortcut files} \entry{Shortcut files under Windows 9X fail DJGPP linker}{64}{Shortcut files under Windows 9X fail DJGPP linker} \entry{Linker fails to produce executable under Novell}{65}{Linker fails to produce executable under Novell} \entry{Novell, linker or STUBIFY don't produce executable}{65}{Novell, linker or STUBIFY don't produce executable} \entry{Linker fails for large libraries or object files}{65}{Linker fails for large libraries or object files} \entry{Linker fails for a.out files in a library}{65}{Linker fails for a.out files in a library} \entry{Linker fails for obj files converted by EMXAOUT}{65}{Linker fails for obj files converted by EMXAOUT} \entry{Allegro library, failure to compile}{66}{Allegro library, failure to compile} \entry{NULL, redefinition in C{\tt\char 43}{\tt\char 43} header files}{66}{NULL, redefinition in C\t {++} header files} \entry{Redefinition of NULL in C{\tt\char 43}{\tt\char 43} headers}{66}{Redefinition of NULL in C\t {++} headers} \entry{Exceptions, C{\tt\char 43}{\tt\char 43}, support by GCC}{67}{Exceptions, C\t {++}, support by GCC} \entry{C{\tt\char 43}{\tt\char 43} exceptions, support by GCC}{67}{C\t {++} exceptions, support by GCC} \entry{Abort! message in C{\tt\char 43}{\tt\char 43} programs that use exceptions}{67}{Abort! message in C\t {++} programs that use exceptions} \entry{Exceptions, with -fsjlj-exceptions}{67}{Exceptions, with -fsjlj-exceptions} \entry{{\_}{\_}EH{\_}FRAME{\_}BEGIN{\_}{\_}, undefined references}{67}{__EH_FRAME_BEGIN__, undefined references} \entry{Undefined references to {\_}{\_}EH{\_}FRAME{\_}BEGIN{\_}{\_}}{67}{Undefined references to __EH_FRAME_BEGIN__} \entry{Redefinition of class exception, compiler message}{67}{Redefinition of class exception, compiler message} \entry{math.h, conflicts with C{\tt\char 43}{\tt\char 43} programs}{67}{math.h, conflicts with C\t {++} programs} \entry{Assembly code, generating with GCC}{67}{Assembly code, generating with GCC} \entry{Listing, assembly and source code}{67}{Listing, assembly and source code} \entry{sys/movedata.h header, compilation errors}{68}{sys/movedata.h header, compilation errors} \entry{movedata.h header, compilation problems}{68}{movedata.h header, compilation problems} \entry{Object libraries, how to create/update}{68}{Object libraries, how to create/update} \entry{Libraries, object, how to create/update}{68}{Libraries, object, how to create/update} \entry{-lfoo, linker switch}{68}{-lfoo, linker switch} \entry{Libraries, creating with RHIDE}{68}{Libraries, creating with RHIDE} \entry{Object libraries, creating with RHIDE}{68}{Object libraries, creating with RHIDE} \entry{Run-time problems}{71}{Run-time problems} \entry{Program crashes in v2.0, but not in v1.x}{71}{Program crashes in v2.0, but not in v1.x} \entry{Uninitialized memory crashes v2.0 programs}{71}{Uninitialized memory crashes v2.0 programs} \entry{v2.0, program crashes}{71}{v2.0, program crashes} \entry{DEADBEEF, use to spot uninitialized memory}{71}{DEADBEEF, use to spot uninitialized memory} \entry{Null pointer dereference crashes v2.0 programs}{71}{Null pointer dereference crashes v2.0 programs} \entry{Crashes, v2.0 programs}{71}{Crashes, v2.0 programs} \entry{Page fault error message from CWSDPMI}{71}{Page fault error message from CWSDPMI} \entry{Traceback, how to read}{71}{Traceback, how to read} \entry{Crash traceback, how to read}{71}{Crash traceback, how to read} \entry{Stack dump, how to read}{71}{Stack dump, how to read} \entry{Inline assembly, inaccurate SYMIFY output}{72}{Inline assembly, inaccurate SYMIFY output} \entry{Source line from the EIP, using GDB}{72}{Source line from the EIP, using GDB} \entry{Program counter, converting to source lines}{72}{Program counter, converting to source lines} \entry{Files, reading and writing}{73}{Files, reading and writing} \entry{Binary data I/O}{73}{Binary data I/O} \entry{fstream truncates files open for read/write}{73}{fstream truncates files open for read/write} \entry{Truncation of files when using fstream}{73}{Truncation of files when using fstream} \entry{Screen I/O}{73}{Screen I/O} \entry{Interactive programs, screen I/O}{73}{Interactive programs, screen I/O} \entry{gotoxy doesn't work with `printf'}{73}{gotoxy doesn't work with `printf'} \entry{Color text cannot be printed with `printf'}{73}{Color text cannot be printed with `printf'} \entry{printf cannot print color text}{73}{printf cannot print color text} \entry{Distributing DJGPP programs}{74}{Distributing DJGPP programs} \entry{DPMI, required to run DJGPP programs}{74}{DPMI, required to run DJGPP programs} \entry{DJGPP-compiled programs can't find DPMI}{74}{DJGPP-compiled programs can't find DPMI} \entry{Stand-alone DJGPP programs that don't need DPMI}{74}{Stand-alone DJGPP programs that don't need DPMI} \entry{Files, max open simultaneously}{74}{Files, max open simultaneously} \entry{Handles, maximum available number}{74}{Handles, maximum available number} \entry{Inheritance, file handles}{75}{Inheritance, file handles} \entry{FILES= directive}{75}{FILES= directive} \entry{PerVMFiles= directive}{75}{PerVMFiles= directive} \entry{File handles, under Windows}{75}{File handles, under Windows} \entry{Graphics issues}{77}{Graphics issues} \entry{Graphics driver setup}{77}{Graphics driver setup} \entry{SVGA types supported by GRX}{77}{SVGA types supported by GRX} \entry{VESA support by GRX}{77}{VESA support by GRX} \entry{Accessing video memory}{77}{Accessing video memory} \entry{Video memory, direct access}{77}{Video memory, direct access} \entry{Graphics, direct video access}{77}{Graphics, direct video access} \entry{Text-mode video memory access}{77}{Text-mode video memory access} \entry{Far pointer memory access}{77}{Far pointer memory access} \entry{Accessing VBE 2.0 linear frame buffer}{77}{Accessing VBE 2.0 linear frame buffer} \entry{Linear frame buffer access}{77}{Linear frame buffer access} \entry{VBE 2.0 linear frame buffer access}{77}{VBE 2.0 linear frame buffer access} \entry{Screen contents not restored under Windows}{78}{Screen contents not restored under Windows} \entry{Graphics screen messed up under Windows}{78}{Graphics screen messed up under Windows} \entry{Graphics programs, and Windows DOS Mode}{78}{Graphics programs, and Windows DOS Mode} \entry{DOS Mode, Windows suggests for graphics programs}{78}{DOS Mode, Windows suggests for graphics programs} \entry{Floating-point emulation}{81}{Floating-point emulation} \entry{Floating-point issues}{81}{Floating-point issues} \entry{Emulation, floating-point}{81}{Emulation, floating-point} \entry{Emulator library}{81}{Emulator library} \entry{Library, floating-point emulation}{81}{Library, floating-point emulation} \entry{Distributing DJGPP programs, FP emulator}{81}{Distributing DJGPP programs, FP emulator} \entry{Floating-point emulation doesn't work}{81}{Floating-point emulation doesn't work} \entry{Floating-point emulation, non-DJGPP emulators}{81}{Floating-point emulation, non-DJGPP emulators} \entry{Non-DJGPP floating-point emulators}{81}{Non-DJGPP floating-point emulators} \entry{Floating-point emulation, under OS/2}{82}{Floating-point emulation, under OS/2} \entry{-msoft-float switch to GCC}{82}{-msoft-float switch to GCC} \entry{Floating-point emulation, -msoft-float switch}{82}{Floating-point emulation, -msoft-float switch} \entry{Numeric exception, program crash}{82}{Numeric exception, program crash} \entry{Crash, numeric exception}{82}{Crash, numeric exception} \entry{Programs crash, numeric exception}{82}{Programs crash, numeric exception} \entry{Coprocessor setup, change with {\_}control87}{82}{Coprocessor setup, change with _control87} \entry{{\_}control87, change coprocessor setup}{82}{_control87, change coprocessor setup} \entry{Inaccuracies, using emulator}{82}{Inaccuracies, using emulator} \entry{Emulator, floating-point inaccuracies}{82}{Emulator, floating-point inaccuracies} \entry{Pi, accurate computation}{82}{Pi, accurate computation} \entry{atan, inaccuracies with FP emulator}{82}{atan, inaccuracies with FP emulator} \entry{Objective-C programs crash with FP exception}{83}{Objective-C programs crash with FP exception} \entry{Floating-point exception in Objective-C program}{83}{Floating-point exception in Objective-C program} \entry{ldexp crashes programs with FP exception}{83}{ldexp crashes programs with FP exception} \entry{Functions from libm.a crash with SIGFPE}{83}{Functions from libm.a crash with SIGFPE} \entry{Math functions crash with SIGFPE}{83}{Math functions crash with SIGFPE} \entry{Debugging issues}{85}{Debugging issues} \entry{Debugger, usage}{85}{Debugger, usage} \entry{Debuggers for DJGPP programs}{85}{Debuggers for DJGPP programs} \entry{Compilation for debugging}{85}{Compilation for debugging} \entry{Floating-point, debugger support}{85}{Floating-point, debugger support} \entry{DXE can be debugged with EDEBUG32}{85}{DXE can be debugged with EDEBUG32} \entry{Crash message, how to interpret}{86}{Crash message, how to interpret} \entry{Debugging programs which crash}{86}{Debugging programs which crash} \entry{Crash traceback, saving to a file}{86}{Crash traceback, saving to a file} \entry{Page Fault message}{87}{Page Fault message} \entry{NULL pointer}{87}{NULL pointer} \entry{General Protection Fault message}{87}{General Protection Fault message} \entry{Stack Fault message}{88}{Stack Fault message} \entry{Floating Point exception message}{88}{Floating Point exception message} \entry{Cannot continue from exception message}{88}{Cannot continue from exception message} \entry{Invalid TSS in RMCB message}{88}{Invalid TSS in RMCB message} \entry{Double Fault message, after Ctrl-C, Ctrl-BREAK}{89}{Double Fault message, after Ctrl-C, Ctrl-BREAK} \entry{Debugger crashes under QEMM/QDPMI}{90}{Debugger crashes under QEMM/QDPMI} \entry{Disabling QDPMI}{90}{Disabling QDPMI} \entry{Debugging with GDB, needs COFF output}{90}{Debugging with GDB, needs COFF output} \entry{COFF output from linker, how to get}{90}{COFF output from linker, how to get} \entry{Debugging graphics programs}{91}{Debugging graphics programs} \entry{Graphics programs, debugging}{91}{Graphics programs, debugging} \entry{Monochrome monitor, redirecting screen output}{91}{Monochrome monitor, redirecting screen output} \entry{Code page change might prevent MSHELL from working}{91}{Code page change might prevent MSHELL from working} \entry{Monochrome monitor device driver}{91}{Monochrome monitor device driver} \entry{Monochrome monitor, support in RHIDE}{91}{Monochrome monitor, support in RHIDE} \entry{Debugging C{\tt\char 43}{\tt\char 43} programs}{92}{Debugging C\t {++} programs} \entry{Debugger cannot find C{\tt\char 43}{\tt\char 43} source}{92}{Debugger cannot find C\t {++} source} \entry{C{\tt\char 43}{\tt\char 43} source, debugger cannot find}{92}{C\t {++} source, debugger cannot find} \entry{Class method name in GDB}{92}{Class method name in GDB} \entry{Class static variable name in GDB}{92}{Class static variable name in GDB} \entry{Method name in C{\tt\char 43}{\tt\char 43}, how to pass to GDB}{92}{Method name in C\t {++}, how to pass to GDB} \entry{C{\tt\char 43}{\tt\char 43} class variables under GDB}{92}{C\t {++} class variables under GDB} \entry{C{\tt\char 43}{\tt\char 43} method names under GDB}{92}{C\t {++} method names under GDB} \entry{Source language is not recognized by GDB in C{\tt\char 43}{\tt\char 43} programs}{92}{Source language is not recognized by GDB in C\t {++} programs} \entry{Mangling C{\tt\char 43}{\tt\char 43} identifiers, GNU style}{92}{Mangling C\t {++} identifiers, GNU style} \entry{C{\tt\char 43}{\tt\char 43} debugging with stabs information}{92}{C\t {++} debugging with stabs information} \entry{Debugger doesn't know about #include'd source}{93}{Debugger doesn't know about #include'd source} \entry{Including source code, problems with debugging}{93}{Including source code, problems with debugging} \entry{Debugging C/C{\tt\char 43}{\tt\char 43} code generated by another program}{93}{Debugging C/C\t {++} code generated by another program} \entry{Static uninitialized variables, failure debugging}{93}{Static uninitialized variables, failure debugging} \entry{Display or set static variables inside debugger}{93}{Display or set static variables inside debugger} \entry{Signals in debugged programs}{94}{Signals in debugged programs} \entry{Debugger crashes on programs which use exceptions}{94}{Debugger crashes on programs which use exceptions} \entry{Floating-point emulation under debugger}{94}{Floating-point emulation under debugger} \entry{Ctrl-C in debugged programs}{94}{Ctrl-C in debugged programs} \entry{Debugger crashes on programs compiled for profiling}{94}{Debugger crashes on programs compiled for profiling} \entry{Profiled programs crash under debugger}{94}{Profiled programs crash under debugger} \entry{Keyboard interrupt cannot be hooked under debugger}{94}{Keyboard interrupt cannot be hooked under debugger} \entry{Debugger doesn't pass signals to debuggee}{94}{Debugger doesn't pass signals to debuggee} \entry{Debugger GP Faults on Windows 3.X}{94}{Debugger GP Faults on Windows 3.X} \entry{Single-stepping doesn't work in GDB on Windows 3.X}{94}{Single-stepping doesn't work in GDB on Windows 3.X} \entry{Single-stepping doesn't work in RHIDE on Windows 3.X}{94}{Single-stepping doesn't work in RHIDE on Windows 3.X} \entry{Breakpoints don't work in GDB under Windows}{94}{Breakpoints don't work in GDB under Windows} \entry{Watchpoints don't work in GDB under Windows}{94}{Watchpoints don't work in GDB under Windows} \entry{Profiling issues}{97}{Profiling issues} \entry{Profiling DJGPP programs}{97}{Profiling DJGPP programs} \entry{DJGPP programs, profiling}{97}{DJGPP programs, profiling} \entry{Optimizing DJGPP programs}{97}{Optimizing DJGPP programs} \entry{Programs crash when compiled for profiling}{97}{Programs crash when compiled for profiling} \entry{Programs run slowly when compiled with -pg}{97}{Programs run slowly when compiled with -pg} \entry{Profiling, program crashes or runs slowly}{97}{Profiling, program crashes or runs slowly} \entry{Monochrome display and profiling}{97}{Monochrome display and profiling} \entry{Profiling DJGPP programs, need COFF output}{98}{Profiling DJGPP programs, need COFF output} \entry{COFF output, required for profiling}{98}{COFF output, required for profiling} \entry{Bad format, profiler error message}{98}{Bad format, profiler error message} \entry{Documentation, the profiler}{98}{Documentation, the profiler} \entry{Profiler documentation}{98}{Profiler documentation} \entry{Profiling, library routines}{98}{Profiling, library routines} \entry{{\_}{\_}dpmi{\_}int, high in program's profile}{98}{__dpmi_int, high in program's profile} \entry{Profiler produces no output}{98}{Profiler produces no output} \entry{Profiling programs that terminate abnormally}{98}{Profiling programs that terminate abnormally} \entry{Programs that exit abnormally, how to profile}{98}{Programs that exit abnormally, how to profile} \entry{Performance issues}{101}{Performance issues} \entry{Run-time performance}{101}{Run-time performance} \entry{Code quality, GCC}{101}{Code quality, GCC} \entry{Mode switches, effect on program speed}{101}{Mode switches, effect on program speed} \entry{Code speed, slower in v2.x}{101}{Code speed, slower in v2.x} \entry{v2 code slower than v1.x}{101}{v2 code slower than v1.x} \entry{v2.01 code slower than v2.0}{101}{v2.01 code slower than v2.0} \entry{Runtime speed, slower in v2.x}{101}{Runtime speed, slower in v2.x} \entry{Binutils 2.8.x, slower than 2.7}{101}{Binutils 2.8.x, slower than 2.7} \entry{Optimization, GCC switches}{101}{Optimization, GCC switches} \entry{Speed of code, recommended GCC switches}{101}{Speed of code, recommended GCC switches} \entry{Stack, misalignment causes slow-down}{101}{Stack, misalignment causes slow-down} \entry{Optimization bugs, in PGCC with -O7 and higher}{102}{Optimization bugs, in PGCC with -O7 and higher} \entry{Arrays, and code speed}{102}{Arrays, and code speed} \entry{Speed of array-based programs}{102}{Speed of array-based programs} \entry{STUB, environment variable}{102}{STUB, environment variable} \entry{Alternate stub, how to use}{102}{Alternate stub, how to use} \entry{Stub, how to use non-default one}{102}{Stub, how to use non-default one} \entry{Alignment of data by GAS can slow-down code}{102}{Alignment of data by GAS can slow-down code} \entry{Code is slow due to incorrect alignment by GAS}{102}{Code is slow due to incorrect alignment by GAS} \entry{Slow code, due to bad alignment by GAS}{102}{Slow code, due to bad alignment by GAS} \entry{Pentium-optimized code}{102}{Pentium-optimized code} \entry{I/O speed, DJGPP programs}{103}{I/O speed, DJGPP programs} \entry{Buffered I/O, effect of buffer size on I/O speed}{103}{Buffered I/O, effect of buffer size on I/O speed} \entry{setvbuf, effect on I/O speed}{103}{setvbuf, effect on I/O speed} \entry{Transfer buffer, what it is}{104}{Transfer buffer, what it is} \entry{File I/O, compared with Linux}{104}{File I/O, compared with Linux} \entry{Disk I/O, compared with Linux}{104}{Disk I/O, compared with Linux} \entry{Slow-down, programs ported from other compilers}{105}{Slow-down, programs ported from other compilers} \entry{Ported programs run much slower}{105}{Ported programs run much slower} \entry{FPU emulation slows down programs}{105}{FPU emulation slows down programs} \entry{Slow-down, when resident software uses XMS}{105}{Slow-down, when resident software uses XMS} \entry{Memory at run time}{107}{Memory at run time} \entry{Virtual memory}{107}{Virtual memory} \entry{Virtual memory, maximum available}{107}{Virtual memory, maximum available} \entry{Memory, virtual, maximum available}{107}{Memory, virtual, maximum available} \entry{Virtual memory, malloc doesn't change}{107}{Virtual memory, malloc doesn't change} \entry{Virtual memory, free doesn't change}{107}{Virtual memory, free doesn't change} \entry{Memory, virtual, malloc doesn't change}{107}{Memory, virtual, malloc doesn't change} \entry{Memory, virtual, free doesn't change}{107}{Memory, virtual, free doesn't change} \entry{malloc doesn't change virtual memory}{107}{malloc doesn't change virtual memory} \entry{free doesn't change virtual memory}{107}{free doesn't change virtual memory} \entry{{\_}{\_}dpmi{\_}get{\_}memory{\_}information, doesn't change after free/malloc}{107}{__dpmi_get_memory_information, doesn't change after free/malloc} \entry{{\_}go32{\_}remaining{\_}physical{\_}memory, doesn't change after free/malloc}{107}{_go32_remaining_physical_memory, doesn't change after free/malloc} \entry{{\_}go32{\_}remaining{\_}physical{\_}memory, under OS/2}{107}{_go32_remaining_physical_memory, under OS/2} \entry{Virtual memory, QDPMI failure}{108}{Virtual memory, QDPMI failure} \entry{Memory, virtual, QDPMI failure}{108}{Memory, virtual, QDPMI failure} \entry{Virtual memory, failure to allocate}{108}{Virtual memory, failure to allocate} \entry{Memory, virtual, failure to allocate}{108}{Memory, virtual, failure to allocate} \entry{sbrk algorithm and QDPMI}{108}{sbrk algorithm and QDPMI} \entry{{\_}crt0{\_}startup{\_}flags settings and QDPMI}{108}{_crt0_startup_flags settings and QDPMI} \entry{Memory allocation fails under QDPMI or Windows 9X}{108}{Memory allocation fails under QDPMI or Windows 9X} \entry{malloc fails under QDPMI or Windows}{108}{malloc fails under QDPMI or Windows} \entry{calloc fails under QDPMI or Windows}{108}{calloc fails under QDPMI or Windows} \entry{Program crashes while allocating memory}{108}{Program crashes while allocating memory} \entry{Memory allocation in small chunks fails}{109}{Memory allocation in small chunks fails} \entry{malloc in small chunks fails}{109}{malloc in small chunks fails} \entry{Memory allocation fails under Windows 3.X}{109}{Memory allocation fails under Windows 3.X} \entry{malloc fails under Windows 3.X}{109}{malloc fails under Windows 3.X} \entry{calloc fails under Windows 3.X}{109}{calloc fails under Windows 3.X} \entry{Memory allocation fails under Windows 9X}{109}{Memory allocation fails under Windows 9X} \entry{malloc fails under Windows 9X}{109}{malloc fails under Windows 9X} \entry{calloc fails under Windows 9X}{109}{calloc fails under Windows 9X} \entry{Virtual memory under Windows 9X}{109}{Virtual memory under Windows 9X} \entry{Memory allocation fails under EMM386 or HIMEM}{110}{Memory allocation fails under EMM386 or HIMEM} \entry{malloc fails under EMM386 or HIMEM}{110}{malloc fails under EMM386 or HIMEM} \entry{calloc fails under EMM386 or HIMEM}{110}{calloc fails under EMM386 or HIMEM} \entry{Paging starts before all RAM is used}{110}{Paging starts before all RAM is used} \entry{Child programs, how much memory is left}{110}{Child programs, how much memory is left} \entry{Nested programs, how much memory is left}{110}{Nested programs, how much memory is left} \entry{Spawned programs, how much memory is left}{110}{Spawned programs, how much memory is left} \entry{Subsidiary programs, how much memory is left}{110}{Subsidiary programs, how much memory is left} \entry{Memory, how much is left for spawned programs}{110}{Memory, how much is left for spawned programs} \entry{No free XMS memory when NOEMS parameter is used}{110}{No free XMS memory when NOEMS parameter is used} \entry{Stack size under DJGPP}{111}{Stack size under DJGPP} \entry{Automatic variables, how much memory}{111}{Automatic variables, how much memory} \entry{{\_}stklen, setting stack size}{111}{_stklen, setting stack size} \entry{Programs crash with SIGSEGV due to small stack size}{111}{Programs crash with SIGSEGV due to small stack size} \entry{Stack size, insufficient, causes programs to crash}{111}{Stack size, insufficient, causes programs to crash} \entry{Stack overflow under debugger}{111}{Stack overflow under debugger} \entry{Debugger causes programs to overflow the stack}{111}{Debugger causes programs to overflow the stack} \entry{C{\tt\char 43}{\tt\char 43} compiler crashes for large programs}{111}{C\t {++} compiler crashes for large programs} \entry{Command-line arguments}{113}{Command-line arguments} \entry{Wildcards expansion}{113}{Wildcards expansion} \entry{Filename wildcards expansion}{113}{Filename wildcards expansion} \entry{Filename globbing}{113}{Filename globbing} \entry{Globbing in filenames}{113}{Globbing in filenames} \entry{Command line, filename expansion/globbing}{113}{Command line, filename expansion/globbing} \entry{Command line, * and ? characters}{113}{Command line, * and ? characters} \entry{* character in command lines}{113}{* character in command lines} \entry{? character in command lines}{113}{? character in command lines} \entry{Globbing and file name letter-case}{114}{Globbing and file name letter-case} \entry{Case-sensitivity, while expanding wildcards}{114}{Case-sensitivity, while expanding wildcards} \entry{Wildcards, and letter-case in file names}{114}{Wildcards, and letter-case in file names} \entry{FNCASE variable and wildcard expansion}{114}{FNCASE variable and wildcard expansion} \entry{Wildcards expansion, disabling}{114}{Wildcards expansion, disabling} \entry{Disabling wildcard expansion}{114}{Disabling wildcard expansion} \entry{Disabling globbing in filenames}{114}{Disabling globbing in filenames} \entry{Filename wildcards, disabling expansion}{114}{Filename wildcards, disabling expansion} \entry{Filename globbing, disabling}{114}{Filename globbing, disabling} \entry{Globbing in filenames, disabling}{114}{Globbing in filenames, disabling} \entry{Command line, disabling filename expansion/globbing}{114}{Command line, disabling filename expansion/globbing} \entry{{\_}{\_}crt0{\_}glob{\_}function, disable filename globbing}{114}{__crt0_glob_function, disable filename globbing} \entry{Quotes, how to pass them to programs}{114}{Quotes, how to pass them to programs} \entry{@ character, how to pass it to programs}{114}{@ character, how to pass it to programs} \entry{Command line, escaping special characters}{114}{Command line, escaping special characters} \entry{Whitespace in wildcards}{115}{Whitespace in wildcards} \entry{Wildcards, and whitespace in file names}{115}{Wildcards, and whitespace in file names} \entry{Long command lines}{115}{Long command lines} \entry{Makefiles with long command lines}{115}{Makefiles with long command lines} \entry{!proxy method of passing long command lines}{115}{!proxy method of passing long command lines} \entry{Command lines, longer than 126 characters}{115}{Command lines, longer than 126 characters} \entry{Response file, passing long command lines}{115}{Response file, passing long command lines} \entry{system function doesn't call COMMAND.COM}{116}{\t {system} function doesn't call COMMAND.COM} \entry{Long command lines, maximum length}{116}{Long command lines, maximum length} \entry{Length of command line}{116}{Length of command line} \entry{Maximum length of command line}{116}{Maximum length of command line} \entry{Environment size affects spawning child programs}{116}{Environment size affects spawning child programs} \entry{Spawning programs, effect of environment size}{116}{Spawning programs, effect of environment size} \entry{Long command lines, from Makefile}{116}{Long command lines, from Makefile} \entry{Makefile, passing long command lines}{116}{Makefile, passing long command lines} \entry{SHELL= variable in Makefile, effect on long command lines}{116}{SHELL= variable in Makefile, effect on long command lines} \entry{Redirection in Makefile, effect on long command lines}{116}{Redirection in Makefile, effect on long command lines} \entry{Redirection, using the REDIR program}{116}{Redirection, using the REDIR program} \entry{Long command lines, problems with RHIDE}{117}{Long command lines, problems with RHIDE} \entry{Converting DOS code to DJGPP}{119}{Converting DOS code to DJGPP} \entry{DOS programs, converting to DJGPP}{119}{DOS programs, converting to DJGPP} \entry{Libraries, converting to DJGPP}{119}{Libraries, converting to DJGPP} \entry{Assembly source, GCC/Gas syntax}{119}{Assembly source, GCC/Gas syntax} \entry{AT&T vs Intel assembly syntax}{119}{AT&T vs Intel assembly syntax} \entry{Intel vs AT&T assembly syntax}{119}{Intel vs AT&T assembly syntax} \entry{Assembly syntax}{119}{Assembly syntax} \entry{Tutorials on AT&T syntax and NASM}{119}{Tutorials on AT&T syntax and NASM} \entry{Assembly source, converting to AT&T syntax}{120}{Assembly source, converting to AT&T syntax} \entry{Intel-style assembly code, using with DJGPP}{120}{Intel-style assembly code, using with DJGPP} \entry{Assembly source, converting from AT&T to Intel}{121}{Assembly source, converting from AT&T to Intel} \entry{AT&T-style assembly, converting to Intel}{121}{AT&T-style assembly, converting to Intel} \entry{Assembly source, converting to protected mode}{121}{Assembly source, converting to protected mode} \entry{Protected mode and converted assembly code}{121}{Protected mode and converted assembly code} \entry{Registers, which ones to save in assembly code}{122}{Registers, which ones to save in assembly code} \entry{Assembly functions, which registers to save}{122}{Assembly functions, which registers to save} \entry{Assembly code crashes when linked with optimized C code}{122}{Assembly code crashes when linked with optimized C code} \entry{DOS libraries, using with GCC}{122}{DOS libraries, using with GCC} \entry{DOS object files, using with GCC}{122}{DOS object files, using with GCC} \entry{.lib libraries, using with GCC}{122}{.lib libraries, using with GCC} \entry{.obj object files, using with GCC}{122}{.obj object files, using with GCC} \entry{Converting DOS .obj/.lib files to GCC}{122}{Converting DOS .obj/.lib files to GCC} \entry{.o files from EMXAOUT can't be put into a library}{122}{.o files from EMXAOUT can't be put into a library} \entry{DOS code, using with GCC}{123}{DOS code, using with GCC} \entry{16-bit code, using with DJGPP}{123}{16-bit code, using with DJGPP} \entry{Calling 16-bit code from DJGPP}{123}{Calling 16-bit code from DJGPP} \entry{far, declaration, porting to DJGPP}{123}{far, declaration, porting to DJGPP} \entry{near, declaration, porting to DJGPP}{123}{near, declaration, porting to DJGPP} \entry{huge, declaration, porting to DJGPP}{123}{huge, declaration, porting to DJGPP} \entry{MK{\_}FP macro, porting to DJGPP}{123}{MK_FP macro, porting to DJGPP} \entry{FP{\_}SEG and FP{\_}OFF, porting to DJGPP}{123}{FP_SEG and FP_OFF, porting to DJGPP} \entry{Pseudo-register variables, porting to DJGPP}{124}{Pseudo-register variables, porting to DJGPP} \entry{{\_}AX variable, porting to DJGPP}{124}{_AX variable, porting to DJGPP} \entry{{\_}BX variable, porting to DJGPP}{124}{_BX variable, porting to DJGPP} \entry{{\_}CX variable, porting to DJGPP}{124}{_CX variable, porting to DJGPP} \entry{{\_}DX variable, porting to DJGPP}{124}{_DX variable, porting to DJGPP} \entry{{\_}BP variable, porting to DJGPP}{124}{_BP variable, porting to DJGPP} \entry{{\_}SI variable, porting to DJGPP}{124}{_SI variable, porting to DJGPP} \entry{{\_}DI variable, porting to DJGPP}{124}{_DI variable, porting to DJGPP} \entry{{\_}ES variable, porting to DJGPP}{124}{_ES variable, porting to DJGPP} \entry{{\_}DS variable, porting to DJGPP}{124}{_DS variable, porting to DJGPP} \entry{Low-level programming issues}{127}{Low-level programming issues} \entry{Systems programming issues}{127}{Systems programming issues} \entry{Hardware-oriented programming}{127}{Hardware-oriented programming} \entry{Unsupported INT message}{127}{Unsupported INT message} \entry{Unsupported DOS request message}{127}{Unsupported DOS request message} \entry{int86 crashes program}{127}{int86 crashes program} \entry{intdos crashes program}{127}{intdos crashes program} \entry{Program crashes in int86/intdos}{127}{Program crashes in int86/intdos} \entry{DOS service calls}{127}{DOS service calls} \entry{BIOS service calls}{127}{BIOS service calls} \entry{{\_}{\_}dpmi{\_}int, calling DOS/BIOS services}{127}{__dpmi_int, calling DOS/BIOS services} \entry{int86/intdos, garbled results in registers}{127}{int86/intdos, garbled results in registers} \entry{int86/intdos, registers' width}{127}{int86/intdos, registers' width} \entry{Mouse interface, problems with int86}{127}{Mouse interface, problems with int86} \entry{int86, problems with mouse interface}{127}{int86, problems with mouse interface} \entry{DOS service calls which need buffers}{127}{DOS service calls which need buffers} \entry{BIOS service calls which need buffers}{127}{BIOS service calls which need buffers} \entry{int86x/intdosx, how to pass a buffer}{127}{int86x/intdosx, how to pass a buffer} \entry{{\_}{\_}dpmi{\_}int, how to pass buffers}{127}{__dpmi_int, how to pass buffers} \entry{Transfer buffer, using to call DOS/BIOS}{127}{Transfer buffer, using to call DOS/BIOS} \entry{{\_}{\_}tb, an alias for the address of transfer buffer}{127}{__tb, an alias for the address of transfer buffer} \entry{segread function, how to port to DJGPP}{129}{segread function, how to port to DJGPP} \entry{Software interrupts, need zero SS, SP and FLAGS}{129}{Software interrupts, need zero SS, SP and FLAGS} \entry{{\_}{\_}dpmi{\_}simulate{\_}real{\_}mode{\_}interrupt, need zero SS, SP and FLAGS}{129}{__dpmi_simulate_real_mode_interrupt, need zero SS, SP and FLAGS} \entry{{\_}{\_}dpmi{\_}int, use to invoke software interrupts}{129}{__dpmi_int, use to invoke software interrupts} \entry{Transfer buffer, moving data}{130}{Transfer buffer, moving data} \entry{Accessing absolute addresses in conventional memory}{130}{Accessing absolute addresses in conventional memory} \entry{Accessing absolute addresses with dedicated selector}{130}{Accessing absolute addresses with dedicated selector} \entry{Moving data to and from transfer buffer}{130}{Moving data to and from transfer buffer} \entry{Moving data to and from conventional memory}{130}{Moving data to and from conventional memory} \entry{Conventional memory, moving data to/from}{130}{Conventional memory, moving data to/from} \entry{Memory-mapped devices, moving data to/from}{130}{Memory-mapped devices, moving data to/from} \entry{Memory-mapped devices, accessing with dedicated selector}{130}{Memory-mapped devices, accessing with dedicated selector} \entry{Peripherals, moving data to/from}{130}{Peripherals, moving data to/from} \entry{Peek/poke absolute address}{130}{Peek/poke absolute address} \entry{nearptr method of direct memory access}{130}{nearptr method of direct memory access} \entry{{\_}dos{\_}ds, a selector to access conventional memory}{130}{_dos_ds, a selector to access conventional memory} \entry{Struct declaration, for real-mode services}{132}{Struct declaration, for real-mode services} \entry{VBE services, struct declaration}{132}{VBE services, struct declaration} \entry{Real-mode functions, how to call}{133}{Real-mode functions, how to call} \entry{Calling real-mode functions}{133}{Calling real-mode functions} \entry{Peripheral devices, fast access}{134}{Peripheral devices, fast access} \entry{Memory-mapped devices, fast access}{134}{Memory-mapped devices, fast access} \entry{sbrk, effect on ``Fat DS''}{134}{sbrk, effect on ``Fat DS''} \entry{Nearptr functions}{134}{Nearptr functions} \entry{malloc, effect on ``Fat DS''}{134}{malloc, effect on ``Fat DS''} \entry{calloc, effect on ``Fat DS''}{134}{calloc, effect on ``Fat DS''} \entry{realloc, effect on ``Fat DS''}{134}{realloc, effect on ``Fat DS''} \entry{Peripheral devices above 1MB}{135}{Peripheral devices above 1MB} \entry{Memory-mapped devices above 1MB}{135}{Memory-mapped devices above 1MB} \entry{Accessing absolute addresses above 1MB}{135}{Accessing absolute addresses above 1MB} \entry{Real-mode call-back}{136}{Real-mode call-back} \entry{Real-mode services, calling DJGPP functions}{136}{Real-mode services, calling DJGPP functions} \entry{Mouse handler, how to install with DJGPP}{136}{Mouse handler, how to install with DJGPP} \entry{Hardware interrupts, hooking}{137}{Hardware interrupts, hooking} \entry{Interrupts handlers in DJGPP}{137}{Interrupts handlers in DJGPP} \entry{Interrupt reflection}{137}{Interrupt reflection} \entry{{\_}{\_}dpmi{\_}get{\_}real{\_}mode{\_}interrupt{\_}vector}{137}{__dpmi_get_real_mode_interrupt_vector} \entry{{\_}{\_}dpmi{\_}get{\_}protected{\_}mode{\_}interrupt{\_}vector}{137}{__dpmi_get_protected_mode_interrupt_vector} \entry{{\_}go32{\_}dpmi{\_}allocate{\_}iret{\_}wrapper}{137}{_go32_dpmi_allocate_iret_wrapper} \entry{{\_}go32{\_}dpmi{\_}chain{\_}protected{\_}mode{\_}interrupt{\_}vector}{137}{_go32_dpmi_chain_protected_mode_interrupt_vector} \entry{Real-mode interrupt vector}{137}{Real-mode interrupt vector} \entry{Protected-mode interrupt vector}{137}{Protected-mode interrupt vector} \entry{Chaining interrupt}{137}{Chaining interrupt} \entry{Interrupt chaining}{137}{Interrupt chaining} \entry{Locking memory for hardware interrupt handlers}{137}{Locking memory for hardware interrupt handlers} \entry{Memory locking for hardware interrupt handlers}{137}{Memory locking for hardware interrupt handlers} \entry{Virtual memory, disabling with startup flags}{137}{Virtual memory, disabling with startup flags} \entry{Paging, how to disable}{137}{Paging, how to disable} \entry{Locking memory, silent failure}{139}{Locking memory, silent failure} \entry{Memory locking, silent failure}{139}{Memory locking, silent failure} \entry{{\_}CRT0{\_}FLAG{\_}LOCK{\_}MEMORY, silent failure}{139}{_CRT0_FLAG_LOCK_MEMORY, silent failure} \entry{Interrupts 1Ch, 23h, 24h}{139}{Interrupts 1Ch, 23h, 24h} \entry{{\_}go32{\_}XXX vs {\_}{\_}dpmi{\_}YYY, which one to use}{140}{_go32_XXX vs __dpmi_YYY, which one to use} \entry{{\_}{\_}dpmi{\_}YYY vs {\_}go32{\_}XXX, which one to use}{140}{__dpmi_YYY vs _go32_XXX, which one to use} \entry{Hardware interrupts, subtleties}{140}{Hardware interrupts, subtleties} \entry{Hardware interrupt handler crashes}{140}{Hardware interrupt handler crashes} \entry{Interrupt frequency, maximum}{140}{Interrupt frequency, maximum} \entry{Maximum interrupt frequency}{140}{Maximum interrupt frequency} \entry{Interrupt handlers, locking memory}{140}{Interrupt handlers, locking memory} \entry{Locking memory for interrupt handlers}{140}{Locking memory for interrupt handlers} \entry{Unix-like sbrk algorithm considered harmful for HW interrupts}{140}{Unix-like sbrk algorithm considered harmful for HW interrupts} \entry{Keystrokes don't get to keyboard handler}{140}{Keystrokes don't get to keyboard handler} \entry{Overhead, interrupt reflection to protected mode}{140}{Overhead, interrupt reflection to protected mode} \entry{Interrupt reflection overhead}{140}{Interrupt reflection overhead} \entry{{\_}crt0{\_}startup{\_}flags, setting to lock memory}{140}{_crt0_startup_flags, setting to lock memory} \entry{{\_}crt0{\_}startup{\_}flags, Unix sbrk is incompatible with HW interrupts}{140}{_crt0_startup_flags, Unix sbrk is incompatible with HW interrupts} \entry{sbrk, Unix-like algorithm is incompatible with HW interrupts}{140}{sbrk, Unix-like algorithm is incompatible with HW interrupts} \entry{Mouse callback crashes with Page Fault in RMCB}{141}{Mouse callback crashes with Page Fault in RMCB} \entry{Page Fault in RMCB message}{141}{Page Fault in RMCB message} \entry{Peripheral devices, reading/writing ports}{142}{Peripheral devices, reading/writing ports} \entry{Port reading/writing}{142}{Port reading/writing} \entry{inp function}{142}{inp function} \entry{outp function}{142}{outp function} \entry{Inline assembly, how to write}{142}{Inline assembly, how to write} \entry{Accessing C variables from inline assembly}{142}{Accessing C variables from inline assembly} \entry{DMA, using from DJGPP programs}{143}{DMA, using from DJGPP programs} \entry{VDS, not supported by CWSDPMI (yet)}{143}{VDS, not supported by CWSDPMI (yet)} \entry{Legal aspects of DJGPP programming}{145}{Legal aspects of DJGPP programming} \entry{Copyright issues}{145}{Copyright issues} \entry{GPL, effect on DJGPP}{145}{GPL, effect on DJGPP} \entry{LGPL, effect on DJGPP}{145}{LGPL, effect on DJGPP} \entry{GNU Copyleft, effect on DJGPP}{145}{GNU Copyleft, effect on DJGPP} \entry{Copyleft, effect on DJGPP}{145}{Copyleft, effect on DJGPP} \entry{Legal restrictions on DJGPP apps}{145}{Legal restrictions on DJGPP apps} \entry{DJGPP applications, legal restrictions}{145}{DJGPP applications, legal restrictions} \entry{Commercial programs, writing with DJGPP}{145}{Commercial programs, writing with DJGPP} \entry{C{\tt\char 43}{\tt\char 43} class libraries, legal restrictions}{145}{C\t {++} class libraries, legal restrictions} \entry{libgpp.a, legal restrictions}{145}{libgpp.a, legal restrictions} \entry{libiostream.a, legal restrictions}{145}{libiostream.a, legal restrictions} \entry{Legal restrictions, DJGPP utilities}{146}{Legal restrictions, DJGPP utilities} \entry{DJGPP utilities, legal restrictions}{146}{DJGPP utilities, legal restrictions} \entry{C library, legal restrictions}{146}{C library, legal restrictions} \entry{Getting more help}{149}{Getting more help} \entry{More help, how to get}{149}{More help, how to get} \entry{GNU News groups, don't post DJGPP problems}{149}{GNU News groups, don't post DJGPP problems} \entry{Posting problems, not to GNU News groups}{149}{Posting problems, not to GNU News groups} \entry{DJGPP mailing list, how to post}{149}{DJGPP mailing list, how to post} \entry{Posting to DJGPP mailing list}{149}{Posting to DJGPP mailing list} \entry{DJGPP mailing list, how to subscribe}{149}{DJGPP mailing list, how to subscribe} \entry{Subscription to DJGPP mailing list}{149}{Subscription to DJGPP mailing list} \entry{Announcements, mailing list}{149}{Announcements, mailing list} \entry{DJGPP-ANNOUNCE mailing list}{149}{DJGPP-ANNOUNCE mailing list} \entry{DJGPP mailing list, in digest form}{149}{DJGPP mailing list, in digest form} \entry{Weekly digest, problems in receiving}{149}{Weekly digest, problems in receiving} \entry{DJGPP mailing list, how to unsubscribe}{150}{DJGPP mailing list, how to unsubscribe} \entry{Unsubscribing from the DJGPP mailing list}{150}{Unsubscribing from the DJGPP mailing list} \entry{Read DJGPP traffic via WWW}{150}{Read DJGPP traffic via WWW} \entry{DJGPP mailing list/news group, read via WWW}{150}{DJGPP mailing list/news group, read via WWW} \entry{V2, new features and bug fixes}{153}{V2, new features and bug fixes} \entry{New features in v2}{153}{New features in v2} \entry{V2.x, new environment}{153}{V2.x, new environment} \entry{Run-time environment in v2.x}{153}{Run-time environment in v2.x} \entry{DPMI hosts, commercially available}{153}{DPMI hosts, commercially available} \entry{DJGPP v2.x, alternative DPMI hosts}{153}{DJGPP v2.x, alternative DPMI hosts} \entry{Release schedule, how to influence}{154}{Release schedule, how to influence} \entry{Bugfixes, how to ensure they are done}{154}{Bugfixes, how to ensure they are done} \entry{Development of DJGPP, how to contribute}{154}{Development of DJGPP, how to contribute} \entry{DJGPP release schedule}{154}{DJGPP release schedule} \entry{C Library, the latest release}{155}{C Library, the latest release} \entry{Library, updated, where to get}{155}{Library, updated, where to get} \entry{Patched libc, where to find}{155}{Patched libc, where to find} \entry{libc for DJGPP, patched version}{155}{libc for DJGPP, patched version} \entry{Library compiled for debugging/profiling}{156}{Library compiled for debugging/profiling} \entry{Profiling, library functions}{156}{Profiling, library functions} \entry{Debugging, library functions}{156}{Debugging, library functions} \entry{Unzipping and running g{\tt\char 43}{\tt\char 43}.exe produces an error message}{157}{Unzipping and running g++.exe produces an error message} \entry{Changing GNU/DJGPP programs}{157}{Changing GNU/DJGPP programs} \entry{GNU packages, how to change}{157}{GNU packages, how to change} \entry{Recompiling GCC}{157}{Recompiling GCC} \entry{Known bugs in DJGPP, how to browse}{157}{Known bugs in DJGPP, how to browse} \entry{Bugs, how to browse a list of known DJGPP problems}{157}{Bugs, how to browse a list of known DJGPP problems} \entry{Bug report, how to submit}{157}{Bug report, how to submit} \entry{Bug-tracking system for DJGPP}{157}{Bug-tracking system for DJGPP} \entry{Patches for DJGPP, how to submit}{157}{Patches for DJGPP, how to submit} \entry{DJGPP, sample code}{159}{DJGPP, sample code} \entry{Packages, ported to DJGPP}{159}{Packages, ported to DJGPP} \entry{Sound Blaster code for DJGPP}{159}{Sound Blaster code for DJGPP} \entry{Timer interrupts code for DJGPP}{159}{Timer interrupts code for DJGPP} \entry{TCP/IP library for DJGPP}{159}{TCP/IP library for DJGPP} \entry{GUI libraries for DJGPP}{159}{GUI libraries for DJGPP} \entry{X emulation for DJGPP}{159}{X emulation for DJGPP} \entry{GNU development utilities, port to DJGPP}{159}{GNU development utilities, port to DJGPP} \entry{Turbo Vision, DJGPP port}{159}{Turbo Vision, DJGPP port} \entry{Game programming, libraries and techniques for DJGPP}{159}{Game programming, libraries and techniques for DJGPP} \entry{VGA Mode-X graphics for DJGPP}{159}{VGA Mode-X graphics for DJGPP} \entry{RCS port to DJGPP}{159}{RCS port to DJGPP} \entry{Development environments for DJGPP}{159}{Development environments for DJGPP} \entry{Dynamically loaded code for DJGPP}{159}{Dynamically loaded code for DJGPP} \entry{Multitasking packages for DJGPP}{159}{Multitasking packages for DJGPP} \entry{Asynchronous communications packages for DJGPP}{159}{Asynchronous communications packages for DJGPP} \entry{Network interface libraries for DJGPP}{159}{Network interface libraries for DJGPP} \entry{Winsock interface for DJGPP}{159}{Winsock interface for DJGPP} \entry{DirectX programming}{162}{DirectX programming} \entry{OpenGL programming}{162}{OpenGL programming} \entry{Mesa programming}{162}{Mesa programming} \entry{CD-playing library}{162}{CD-playing library} \entry{Memory allocations, debugging packages}{163}{Memory allocations, debugging packages} \entry{malloc, debugging}{163}{malloc, debugging} \entry{Symbolic links, simulation with DJGPP}{164}{Symbolic links, simulation with DJGPP} \entry{Links, symbolic, simulation with DJGPP}{164}{Links, symbolic, simulation with DJGPP} \entry{DPMI, what it is}{164}{DPMI, what it is} \entry{DPMI spec, where to get it}{164}{DPMI spec, where to get it} \entry{Web site for DJGPP}{165}{Web site for DJGPP} \entry{WWW services for DJGPP}{165}{WWW services for DJGPP} \entry{DJGPP, history of the project}{165}{DJGPP, history of the project} \entry{History of DJGPP}{165}{History of DJGPP} \entry{DJGPP software, where to upload}{165}{DJGPP software, where to upload} \entry{Uploading DJGPP software}{165}{Uploading DJGPP software} \entry{DJGPP as cross-compiler}{166}{DJGPP as cross-compiler} \entry{Cross-compiling with DJGPP}{166}{Cross-compiling with DJGPP} \entry{68K targets, cross-compiling with DJGPP}{166}{68K targets, cross-compiling with DJGPP} \entry{Motorola 68K targets, cross-compiling with DJGPP}{166}{Motorola 68K targets, cross-compiling with DJGPP} \entry{Linux-to-DOS cross-compiling with DJGPP}{166}{Linux-to-DOS cross-compiling with DJGPP} \entry{Unix-to-DOS cross-compiling with DJGPP}{166}{Unix-to-DOS cross-compiling with DJGPP} \entry{Garbage at end of number, GCC message}{167}{Garbage at end of number, GCC message} \entry{Size of a struct under DJGPP}{167}{Size of a struct under DJGPP} \entry{Struct, size in bytes under DJGPP}{167}{Struct, size in bytes under DJGPP} \entry{Structure padding}{167}{Structure padding} \entry{Packing the structs}{167}{Packing the structs} \entry{Reading structs from disk files}{167}{Reading structs from disk files} \entry{Reading an int from a binary file}{167}{Reading an int from a binary file} \entry{struct reading from a disk file}{167}{struct reading from a disk file} \entry{sizeof, result when called on a structure}{167}{sizeof, result when called on a structure} \entry{Structure packing, C{\tt\char 43}{\tt\char 43} bug}{169}{Structure packing, C\t {++} bug} \entry{Packed structs, C{\tt\char 43}{\tt\char 43} bug}{169}{Packed structs, C\t {++} bug} \entry{C{\tt\char 43}{\tt\char 43} programs, problems with packed structs}{169}{C\t {++} programs, problems with packed structs} \entry{Interrupt 24h handling}{169}{Interrupt 24h handling} \entry{Int 24h crashes DJGPP programs}{169}{Int 24h crashes DJGPP programs} \entry{harderr function, emulating under DJGPP}{169}{harderr function, emulating under DJGPP} \entry{Critical error handling in DJGPP}{169}{Critical error handling in DJGPP} \entry{Program crashes because of Int 24h}{169}{Program crashes because of Int 24h} \entry{Program crashes accessing empty floppy/CD-ROM drives}{169}{Program crashes accessing empty floppy/CD-ROM drives} \entry{Invoking v2 programs from v1.x programs}{170}{Invoking v2 programs from v1.x programs} \entry{Spawning v2 programs from v1.x programs}{170}{Spawning v2 programs from v1.x programs} \entry{DXE description}{171}{DXE description} \entry{DXE docs and examples}{171}{DXE docs and examples} \entry{Undefined references, in a DXE}{171}{Undefined references, in a DXE} \entry{DXE, undefined references}{171}{DXE, undefined references} \entry{LFN problems, in DJGPP v2.0}{171}{LFN problems, in DJGPP v2.0} \entry{long filename support, bugs in DJGPP v2.0}{171}{long filename support, bugs in DJGPP v2.0} \entry{Missing separator, Make error message}{172}{Missing separator, Make error message} \entry{Makefile, first character of every command must be TAB}{172}{Makefile, first character of every command must be TAB} \entry{TAB, must be the first character of every command}{172}{TAB, must be the first character of every command} \entry{TABs replaced with spaces by a text editor}{172}{TABs replaced with spaces by a text editor} \entry{Modification time in the future, message from Make}{172}{Modification time in the future, message from Make} \entry{Installation, dual, DOS/Windows}{173}{Installation, dual, DOS/Windows} \entry{Numeric tails, turning off}{173}{Numeric tails, turning off} \entry{Numeric tails, created by PKUNZIP v2.50}{173}{Numeric tails, created by PKUNZIP v2.50} \entry{NameNumericTail}{173}{NameNumericTail} \entry{Zoneinfo directory}{174}{Zoneinfo directory} \entry{TZ variable, how to set}{174}{TZ variable, how to set} \entry{TZ database updates, where to get}{174}{TZ database updates, where to get} \entry{/dev/ directory, problems with DJGPP programs}{175}{/dev/ directory, problems with DJGPP programs} \entry{ELF, switching DJGPP to}{176}{ELF, switching DJGPP to} \entry{COFF, why is DJGPP using it}{176}{COFF, why is DJGPP using it} \entry{Random numbers, how to produce}{176}{Random numbers, how to produce} \entry{Seed for random numbers}{176}{Seed for random numbers} \entry{Pseudo-random numbers}{176}{Pseudo-random numbers} \entry{rand and random functions, comparison}{176}{\code {rand} and \code {random} functions, comparison} \entry{Lexicon for DJGPP documentation}{177}{Lexicon for DJGPP documentation} \entry{Jargon, used by DJGPP documentation}{177}{Jargon, used by DJGPP documentation} \entry{Terminology in DJGPP}{177}{Terminology in DJGPP} \entry{void main, in a C program}{178}{void main, in a C program} \entry{FAQ, conversion to different formats}{178}{FAQ, conversion to different formats} \entry{Conversion of the FAQ to different formats}{178}{Conversion of the FAQ to different formats}