\entry{How to unzip DJGPP with WinZip}{3}{How to unzip DJGPP with WinZip} \entry{Unzipping DJGPP with WinZip}{3}{Unzipping DJGPP with WinZip} \entry{Unzipping DJGPP with Aladdin Expander}{3}{Unzipping DJGPP with Aladdin Expander} \entry{How to unzip DJGPP with Aladdin Expander}{3}{How to unzip DJGPP with Aladdin Expander} \entry{AUTOEXEC.BAT, how to edit}{3}{AUTOEXEC.BAT, how to edit} \entry{Editing AUTOEXEC.BAT}{3}{Editing AUTOEXEC.BAT} \entry{TMPDIR variable, when running DJGPP from a CD}{4}{TMPDIR variable, when running DJGPP from a CD} \entry{CDROM-based DJGPP installation, temporary directory}{4}{CDROM-based DJGPP installation, temporary directory} \entry{How to write programs, introduction}{4}{How to write programs, introduction} \entry{First C program, how to write}{4}{First C program, how to write} \entry{DJGPP, what it is}{7}{DJGPP, what it is} \entry{Hardware requirements}{9}{Hardware requirements} \entry{Required hardware, general}{9}{Required hardware, general} \entry{Compatibility, hardware, general}{9}{Compatibility, hardware, general} \entry{Compatibility, operating systems, general}{9}{Compatibility, operating systems, general} \entry{Minimal hardware requirements}{9}{Minimal hardware requirements} \entry{Hardware requirements, minimal}{9}{Hardware requirements, minimal} \entry{i386SX}{9}{i386SX} \entry{Disk space, required for installation}{9}{Disk space, required for installation} \entry{System RAM, minimum}{9}{System RAM, minimum} \entry{Minimum system RAM}{9}{Minimum system RAM} \entry{Minimum system RAM, CWSDPMI}{9}{Minimum system RAM, CWSDPMI} \entry{Recommended system RAM, for C programs compilation}{9}{Recommended system RAM, for C programs compilation} \entry{Recommended system RAM, for C{\tt\char 43}{\tt\char 43} programs compilation}{9}{Recommended system RAM, for C\t {++} programs compilation} \entry{C programs compilation, recommended system RAM}{9}{C programs compilation, recommended system RAM} \entry{C{\tt\char 43}{\tt\char 43} programs compilation, recommended system RAM}{9}{C\t {++} programs compilation, recommended system RAM} \entry{DPMI services, required to run DJGPP}{9}{DPMI services, required to run DJGPP} \entry{DPMI services, problems with Novell NWDOS 7}{9}{DPMI services, problems with Novell NWDOS 7} \entry{Compatibility, Windows 3.X}{9}{Compatibility, Windows 3.X} \entry{Compatibility, Windows 9X}{9}{Compatibility, Windows 9X} \entry{Compatibility, OS/2}{9}{Compatibility, OS/2} \entry{Compatibility, Warp}{9}{Compatibility, Warp} \entry{Compatibility, Windows/NT}{9}{Compatibility, Windows/NT} \entry{Compatibility, Novell NWDOS 7}{9}{Compatibility, Novell NWDOS 7} \entry{Compatibility, Linux}{9}{Compatibility, Linux} \entry{Minimum DOS version supported by DJGPP}{9}{Minimum DOS version supported by DJGPP} \entry{DOS versions supported by DJGPP}{9}{DOS versions supported by DJGPP} \entry{Redirection, and Caldera's DR-DOS}{9}{Redirection, and Caldera's DR-DOS} \entry{Compilation errors don't show with Caldera's DR-DOS}{9}{Compilation errors don't show with Caldera's DR-DOS} \entry{Caldera's DOS and VDISK}{9}{Caldera's DOS and VDISK} \entry{Ctrl-BREAK crashes on Caldera's DR-DOS}{9}{Ctrl-BREAK crashes on Caldera's DR-DOS} \entry{Linear frame buffer, problems in DR-DOS}{9}{Linear frame buffer, problems in DR-DOS} \entry{Spawning child processes, OS/2}{9}{Spawning child processes, OS/2} \entry{Child processes, spawning under OS/2}{9}{Child processes, spawning under OS/2} \entry{Incompatibilities, OS/2}{9}{Incompatibilities, OS/2} \entry{Incompatibilities, OS/2}{9}{Incompatibilities, OS/2} \entry{Incompatibilities, Warp}{9}{Incompatibilities, Warp} \entry{SIGINT, and OS/2}{10}{SIGINT, and OS/2} \entry{Ctrl-C and OS/2}{10}{Ctrl-C and OS/2} \entry{delay function on OS/2}{10}{\code {delay} function on OS/2} \entry{Pause key, on OS/2}{10}{Pause key, on OS/2} \entry{Incompatibilities, Windows/NT}{10}{Incompatibilities, Windows/NT} \entry{Long Filenames aren't supported on Windows/NT}{10}{Long Filenames aren't supported on Windows/NT} \entry{LFN API, not supported by Windows/NT}{10}{LFN API, not supported by Windows/NT} \entry{LFN driver for NT, alpha version}{10}{LFN driver for NT, alpha version} \entry{Cygnus GCC port to Windows}{10}{Cygnus GCC port to Windows} \entry{Graphics, limitations on Windows/NT}{10}{Graphics, limitations on Windows/NT} \entry{Direct hardware access on Windows/NT}{10}{Direct hardware access on Windows/NT} \entry{Spawning child programs on Windows/NT and 9X}{10}{Spawning child programs on Windows/NT and 9X} \entry{Programs using nearptr fail on Windows/NT}{10}{Programs using nearptr fail on Windows/NT} \entry{no DPMI selectors, error message}{10}{no DPMI selectors, error message} \entry{no DOS memory, error message}{10}{no DOS memory, error message} \entry{Mouse, problems in RHIDE on NT}{11}{Mouse, problems in RHIDE on NT} \entry{VESA not available, Allegro message}{11}{VESA not available, Allegro message} \entry{Signals, problems on Windows/NT}{11}{Signals, problems on Windows/NT} \entry{FP emulation on NT}{11}{FP emulation on NT} \entry{Ctrl-C aborts programs on Windows/NT}{12}{Ctrl-C aborts programs on Windows/NT} \entry{Profiling, problems on Windows/NT}{12}{Profiling, problems on Windows/NT} \entry{VDM Redirector already loaded, Windows/NT message}{12}{VDM Redirector already loaded, Windows/NT message} \entry{delay function, on Windows/NT}{12}{\code {delay} function, on Windows/NT} \entry{Pause key, on Windows/NT}{12}{Pause key, on Windows/NT} \entry{Beep, on NT}{12}{Beep, on NT} \entry{Serial ports, on NT}{12}{Serial ports, on NT} \entry{Incompatibilities, Linux DOSEmu}{13}{Incompatibilities, Linux DOSEmu} \entry{DOSEmu, incompatibilities with DJGPP}{13}{DOSEmu, incompatibilities with DJGPP} \entry{DOSEmu, slow response to interactive programs}{13}{DOSEmu, slow response to interactive programs} \entry{Compiling large programs on DOSEmu}{13}{Compiling large programs on DOSEmu} \entry{Floating-point instructions and GNU Make}{13}{Floating-point instructions and GNU Make} \entry{Nested DJGPP programs, and DOSEmu}{13}{Nested DJGPP programs, and DOSEmu} \entry{Mouse usage crashes RHIDE on DOSEmu}{14}{Mouse usage crashes RHIDE on DOSEmu} \entry{VFAT32 support under DOSEmu}{14}{VFAT32 support under DOSEmu} \entry{FAT32 support under DOSEmu}{14}{FAT32 support under DOSEmu} \entry{no DPMI selectors, on Linux}{14}{no DPMI selectors, on Linux} \entry{i286}{14}{i286} \entry{Incompatibilities, i286}{14}{Incompatibilities, i286} \entry{MS-Windows programming under DJGPP}{14}{MS-Windows programming under DJGPP} \entry{Windows applications with DJGPP}{14}{Windows applications with DJGPP} \entry{Win32 programming with GCC}{14}{Win32 programming with GCC} \entry{How to install RSXNTDJ}{15}{How to install RSXNTDJ} \entry{Platform SDK, for RSXNTDJ}{15}{Platform SDK, for RSXNTDJ} \entry{SDK, for RSXNTDJ}{15}{SDK, for RSXNTDJ} \entry{Header files, problems with RSXNTDJ}{16}{Header files, problems with RSXNTDJ} \entry{function.h header, in RSXNTDJ}{16}{\file {function.h} header, in RSXNTDJ} \entry{Undefined references, with stdio functions and RSXNTDJ}{16}{Undefined references, with stdio functions and RSXNTDJ} \entry{Resource compiler, doesn't work in RSXNTDJ}{16}{Resource compiler, doesn't work in RSXNTDJ} \entry{Stack size, in RSXNTDJ programs}{16}{Stack size, in RSXNTDJ programs} \entry{Linker, from RSXNTDJ, and unresolved externals}{16}{Linker, from RSXNTDJ, and unresolved externals} \entry{Undefined references, and the RSXNTDJ linker}{16}{Undefined references, and the RSXNTDJ linker} \entry{Windows 9X/NT programming with Cygnus GCC port}{16}{Windows 9X/NT programming with Cygnus GCC port} \entry{Cygwin port of GCC for Windows 9X and NT}{16}{Cygwin port of GCC for Windows 9X and NT} \entry{Win32 API docs, where to find}{17}{Win32 API docs, where to find} \entry{Win32 programming, recommended books}{17}{Win32 programming, recommended books} \entry{Books for Win32 programming}{17}{Books for Win32 programming} \entry{Configuration, the best}{18}{Configuration, the best} \entry{System configuration, the best}{18}{System configuration, the best} \entry{Environment variables, DJGPP}{18}{Environment variables, DJGPP} \entry{Configuration, reasonable}{18}{Configuration, reasonable} \entry{Compiling large source files}{18}{Compiling large source files} \entry{Compiling GCC and CPP}{18}{Compiling GCC and CPP} \entry{Disk cache, when compiling large programs}{18}{Disk cache, when compiling large programs} \entry{RAM disk, when compiling large programs}{18}{RAM disk, when compiling large programs} \entry{Compiling large programs, disk cache settings}{18}{Compiling large programs, disk cache settings} \entry{Compiling large programs, RAM disk settings}{18}{Compiling large programs, RAM disk settings} \entry{Configuration, for optimal performance}{19}{Configuration, for optimal performance} \entry{Optimal performance, system configuration}{19}{Optimal performance, system configuration} \entry{Disk cache, recommended settings}{19}{Disk cache, recommended settings} \entry{RAM disk, recommended settings}{19}{RAM disk, recommended settings} \entry{Optimal performance, disk cache settings}{19}{Optimal performance, disk cache settings} \entry{Optimal performance, RAM disk settings}{19}{Optimal performance, RAM disk settings} \entry{Optimal performance, CWSDPMI tuning}{19}{Optimal performance, CWSDPMI tuning} \entry{Memory manager, settings for optimal performance}{19}{Memory manager, settings for optimal performance} \entry{Compiling GCC and CPP, RAM disk}{19}{Compiling GCC and CPP, RAM disk} \entry{Slow compilation, tuning CWSDPMI}{19}{Slow compilation, tuning CWSDPMI} \entry{Machines with low extended RAM, tuning CWSDPMI}{19}{Machines with low extended RAM, tuning CWSDPMI} \entry{Excessive paging, tuning CWSDPMI}{19}{Excessive paging, tuning CWSDPMI} \entry{Tuning CWSDPMI for optimal performance}{19}{Tuning CWSDPMI for optimal performance} \entry{Loading HIGH, device drivers and TSRs}{20}{Loading HIGH, device drivers and TSRs} \entry{Installing a disk cache}{20}{Installing a disk cache} \entry{Long file name, problems on a RAM disk}{20}{Long file name, problems on a RAM disk} \entry{Memory managers, recommended for use with DJGPP}{21}{Memory managers, recommended for use with DJGPP} \entry{Setting up DJGPP with EMM386}{21}{Setting up DJGPP with EMM386} \entry{Network installation}{21}{Network installation} \entry{Installing DJGPP on networked drives}{21}{Installing DJGPP on networked drives} \entry{Physical memory, more than 64MB}{21}{Physical memory, more than 64MB} \entry{OS/2 supports up to 512MB of DPMI memory}{21}{OS/2 supports up to 512MB of DPMI memory} \entry{Virtual memory, bugs in CWSDPMI r4}{22}{Virtual memory, bugs in CWSDPMI r4} \entry{DJGPP, how to get it}{23}{DJGPP, how to get it} \entry{Getting DJGPP}{23}{Getting DJGPP} \entry{Downloading DJGPP}{23}{Downloading DJGPP} \entry{DJGPP, where to download}{23}{DJGPP, where to download} \entry{SimTel mirrors' list}{23}{SimTel mirrors' list} \entry{CCT sites, no longer maintained}{23}{CCT sites, no longer maintained} \entry{Downloading DJGPP with FTP}{27}{Downloading DJGPP with FTP} \entry{Downloading DJGPP via e-mail}{27}{Downloading DJGPP via e-mail} \entry{DJGPP, downloading with FTP}{27}{DJGPP, downloading with FTP} \entry{FTP, downloading DJGPP}{27}{FTP, downloading DJGPP} \entry{Downloading DJGPP with WWW}{27}{Downloading DJGPP with WWW} \entry{DJGPP, downloading with WWW}{27}{DJGPP, downloading with WWW} \entry{WWW, downloading DJGPP}{27}{WWW, downloading DJGPP} \entry{DJGPP, downloading with Gopher}{27}{DJGPP, downloading with Gopher} \entry{Gopher, downloading DJGPP}{27}{Gopher, downloading DJGPP} \entry{DJGPP, downloading via e-mail}{27}{DJGPP, downloading via e-mail} \entry{E-mail, downloading DJGPP}{27}{E-mail, downloading DJGPP} \entry{CD-ROM, getting DJGPP}{27}{CD-ROM, getting DJGPP} \entry{Getting DJGPP on a CD-ROM}{27}{Getting DJGPP on a CD-ROM} \entry{Files, minimum set to download}{28}{Files, minimum set to download} \entry{Packages, which to download}{28}{Packages, which to download} \entry{DJGPP, a list of packages}{28}{DJGPP, a list of packages} \entry{List of DJGPP packages}{28}{List of DJGPP packages} \entry{Packages, DJGPP, list of}{28}{Packages, DJGPP, list of} \entry{DJGPP distribution, list of}{28}{DJGPP distribution, list of} \entry{Downloading, individual DJGPP files}{28}{Downloading, individual DJGPP files} \entry{Missing files from DJGPP, where to download}{28}{Missing files from DJGPP, where to download} \entry{Files, missing, where to download}{28}{Files, missing, where to download} \entry{Installation of Info docs, a utility}{29}{Installation of Info docs, a utility} \entry{Fortran compiler}{30}{Fortran compiler} \entry{FIND: Parameter format not correct, error message}{32}{FIND: Parameter format not correct, error message} \entry{Graphics packages}{33}{Graphics packages} \entry{Printing graphics, using GRX}{33}{Printing graphics, using GRX} \entry{Graphics print-out, using GRX}{33}{Graphics print-out, using GRX} \entry{Allegro, home page and mailing list}{33}{Allegro, home page and mailing list} \entry{Curses library for DJGPP}{34}{Curses library for DJGPP} \entry{Files, required disk space}{34}{Files, required disk space} \entry{Packages, required disk space}{34}{Packages, required disk space} \entry{Memory size reported by go32-v2}{34}{Memory size reported by go32-v2} \entry{Disk space, using less of it}{35}{Disk space, using less of it} \entry{FTP, downloading DJGPP in batch mode}{35}{FTP, downloading DJGPP in batch mode} \entry{Automated downloading from a PC}{35}{Automated downloading from a PC} \entry{Automated downloading from a Unix box}{35}{Automated downloading from a Unix box} \entry{Automated FTP from a Unix box}{35}{Automated FTP from a Unix box} \entry{Moving DJGPP}{35}{Moving DJGPP} \entry{Taking DJGPP with you}{35}{Taking DJGPP with you} \entry{Uninstalling a package}{35}{Uninstalling a package} \entry{Deleting a package}{35}{Deleting a package} \entry{Removing a package}{35}{Removing a package} \entry{DJGPP Documentation}{37}{DJGPP Documentation} \entry{DJGPP documentation, where to find it}{37}{DJGPP documentation, where to find it} \entry{Getting documentation}{37}{Getting documentation} \entry{Reading documentation}{37}{Reading documentation} \entry{Browsing documentation}{37}{Browsing documentation} \entry{Documentation, reading}{37}{Documentation, reading} \entry{DJGPP documentation, reading as ASCII file}{37}{DJGPP documentation, reading as ASCII file} \entry{Documentation, converting to plain ASCII}{37}{Documentation, converting to plain ASCII} \entry{Reading documentation, converting to plain ASCII}{37}{Reading documentation, converting to plain ASCII} \entry{Reading documentation with text editor/viewer}{37}{Reading documentation with text editor/viewer} \entry{Reading documentation with a Web browser}{37}{Reading documentation with a Web browser} \entry{Library docs in HTML format}{38}{Library docs in HTML format} \entry{HTML docs, for the DJGPP library}{38}{HTML docs, for the DJGPP library} \entry{DJGPP documentation, printing}{38}{DJGPP documentation, printing} \entry{Documentation, converting to PostScript format}{38}{Documentation, converting to PostScript format} \entry{PostScript documentation}{38}{PostScript documentation} \entry{Printing DJGPP documentation}{38}{Printing DJGPP documentation} \entry{Library docs, missing libc2.tex}{38}{Library docs, missing libc2.tex} \entry{Library docs, problems in generating printed version}{38}{Library docs, problems in generating printed version} \entry{libc2.tex, missing file}{38}{libc2.tex, missing file} \entry{DJGPP documentation, in PostScript format}{38}{DJGPP documentation, in PostScript format} \entry{Documentation, in PostScript format}{38}{Documentation, in PostScript format} \entry{DJGPP documentation, reading with a Web browser}{38}{DJGPP documentation, reading with a Web browser} \entry{HTML format, DJGPP documentation}{39}{HTML format, DJGPP documentation} \entry{Documentation, in HTML format}{39}{Documentation, in HTML format} \entry{DJGPP documentation, look in source distributions}{39}{DJGPP documentation, look in source distributions} \entry{Documentation, inside source distribution archives}{39}{Documentation, inside source distribution archives} \entry{STL, documentation}{39}{STL, documentation} \entry{C{\tt\char 43}{\tt\char 43}, documentation}{39}{C\t {++}, documentation} \entry{Documentation, C{\tt\char 43}{\tt\char 43} classes and STL library}{39}{Documentation, C\t {++} classes and STL library} \entry{Dinkumware site}{39}{Dinkumware site} \entry{ANSI C{\tt\char 43}{\tt\char 43} Standard}{39}{ANSI C\t {++} Standard} \entry{DJGPP documentation, in man page format}{40}{DJGPP documentation, in man page format} \entry{Documentation, in man page format}{40}{Documentation, in man page format} \entry{Man pages, how to read}{40}{Man pages, how to read} \entry{DJGPP documentation, see source files}{41}{DJGPP documentation, see source files} \entry{Source files, using as the best docs}{41}{Source files, using as the best docs} \entry{DJGPP programs, problems with}{43}{DJGPP programs, problems with} \entry{Problems with DJGPP programs}{43}{Problems with DJGPP programs} \entry{Crash, DJGPP programs}{43}{Crash, DJGPP programs} \entry{Hang, DJGPP programs}{43}{Hang, DJGPP programs} \entry{Reboot, when running DJGPP programs}{43}{Reboot, when running DJGPP programs} \entry{DJGPP.ENV file causes GCC 2.8 to hang}{43}{DJGPP.ENV file causes GCC 2.8 to hang} \entry{No DPMI error message}{43}{No DPMI error message} \entry{DJGPP won't run, prints ``No DPMI''}{43}{DJGPP won't run, prints ``No DPMI''} \entry{Load error---no DPMI}{43}{Load error---no DPMI} \entry{Load error: no DPMI, on NT}{44}{Load error: no DPMI, on NT} \entry{DJGPP programs, problems with DPMI host}{44}{DJGPP programs, problems with DPMI host} \entry{DPMI host bugs, might crash DJGPP programs}{44}{DPMI host bugs, might crash DJGPP programs} \entry{Reboot, every DJGPP program}{44}{Reboot, every DJGPP program} \entry{Hang, all DJGPP programs}{44}{Hang, all DJGPP programs} \entry{Novell NDOS, buggy DPMI services crash DJGPP}{44}{Novell NDOS, buggy DPMI services crash DJGPP} \entry{Caldera OpenDOS, DPMI services crash DJGPP}{44}{Caldera OpenDOS, DPMI services crash DJGPP} \entry{DJGPP.ENV, trailing junk crashes Info}{44}{DJGPP.ENV, trailing junk crashes Info} \entry{Optimization crashes GCC}{44}{Optimization crashes GCC} \entry{Tracing compilation progress with -Q}{44}{Tracing compilation progress with -Q} \entry{Compilation progress, GCC switch}{44}{Compilation progress, GCC switch} \entry{Virtual memory exhausted, during compilation}{44}{Virtual memory exhausted, during compilation} \entry{Compiling, on machines without a co-processor}{44}{Compiling, on machines without a co-processor} \entry{-Wall, uses lots of memory}{45}{-Wall, uses lots of memory} \entry{Memory usage by {\tt\char 34}gcc -Wall{\tt\char 34}}{45}{Memory usage by "gcc -Wall"} \entry{GCC aborts with ``Installation problem, cannot exec as''}{46}{GCC aborts with ``Installation problem, cannot exec as''} \entry{Cannot exec as, GCC message}{46}{Cannot exec as, GCC message} \entry{GCC aborts with ``Installation problem, cannot exec cpp''}{46}{GCC aborts with ``Installation problem, cannot exec cpp''} \entry{Cannot exec cpp, GCC message}{46}{Cannot exec cpp, GCC message} \entry{GCC aborts with ``Installation problem, cannot exec cc1plus''}{46}{GCC aborts with ``Installation problem, cannot exec cc1plus''} \entry{Cannot exec cc1plus, GCC message}{46}{Cannot exec cc1plus, GCC message} \entry{Installation problem, cannot exec..., GCC message}{46}{Installation problem, cannot exec..., GCC message} \entry{GCC aborts with ``Internal compiler error''}{46}{GCC aborts with ``Internal compiler error''} \entry{Internal compiler error, when compiling C{\tt\char 43}{\tt\char 43} programs}{46}{Internal compiler error, when compiling C\t {++} programs} \entry{Environment variable DJGPP is not defined message}{46}{Environment variable DJGPP is not defined message} \entry{C compiler overflows its stack for large programs}{46}{C compiler overflows its stack for large programs} \entry{C{\tt\char 43}{\tt\char 43} compiler overflows its stack for large programs}{46}{C\t {++} compiler overflows its stack for large programs} \entry{Environment variable DJGPP point to file which does not exist message}{47}{Environment variable DJGPP point to file which does not exist message} \entry{Environment variable DJGPP points to a wrong or corrupt file message}{47}{Environment variable DJGPP points to a wrong or corrupt file message} \entry{GCC says ``Abort!'' during compilation}{47}{GCC says ``Abort!'' during compilation} \entry{Abort! message during compilation}{47}{Abort! message during compilation} \entry{Overclocking the CPU, compiler crashes}{48}{Overclocking the CPU, compiler crashes} \entry{CMOS setup, a cause for GCC crashes}{48}{CMOS setup, a cause for GCC crashes} \entry{Motherboard setup, a cause for GCC crashes}{48}{Motherboard setup, a cause for GCC crashes} \entry{Crashes, due to faulty disk}{48}{Crashes, due to faulty disk} \entry{Compiler crashes on Windows 3.X}{48}{Compiler crashes on Windows 3.X} \entry{Page Fault, in GCC on Windows 3.X}{48}{Page Fault, in GCC on Windows 3.X} \entry{SIGSEGV, in GCC on Windows 3.X}{48}{SIGSEGV, in GCC on Windows 3.X} \entry{Unknown filetype, GCC message}{49}{Unknown filetype, GCC message} \entry{Mixing v2.0 GCC with CC1PLUS from v1.x}{49}{Mixing v2.0 GCC with CC1PLUS from v1.x} \entry{Virus infection cause ``Not COFF'' message}{49}{Virus infection cause ``Not COFF'' message} \entry{Not COFF error message from DJGPP programs}{49}{Not COFF error message from DJGPP programs} \entry{GCC hangs/crashes under Make}{49}{GCC hangs/crashes under Make} \entry{Mixing v2.x Make with v1.x programs hangs the machine}{49}{Mixing v2.x Make with v1.x programs hangs the machine} \entry{Spawning v2.x programs from v1.x programs doesn't work}{49}{Spawning v2.x programs from v1.x programs doesn't work} \entry{16-bit DPMI programs cannot run under DJGPP}{49}{16-bit DPMI programs cannot run under DJGPP} \entry{PATH, non-DJGPP binaries can crash GCC}{49}{PATH, non-DJGPP binaries can crash GCC} \entry{Compiler, non-DJGPP, crashes under Make}{49}{Compiler, non-DJGPP, crashes under Make} \entry{Can't find node ``Top'', Info message}{50}{Can't find node ``Top'', Info message} \entry{Info won't display a file}{50}{Info won't display a file} \entry{Info waits for 15 seconds}{50}{Info waits for 15 seconds} \entry{Info hangs for non-existent topics}{50}{Info hangs for non-existent topics} \entry{Info viewer crashes at startup}{50}{Info viewer crashes at startup} \entry{{\tt\hat}Z character at end of DJGPP.ENV}{50}{^Z character at end of DJGPP.ENV} \entry{/bin/sh in shell scripts}{51}{/bin/sh in shell scripts} \entry{Shell scripts, failures and crashes}{51}{Shell scripts, failures and crashes} \entry{Pipe errors in shell scripts}{51}{Pipe errors in shell scripts} \entry{ThinkPad, DJGPP programs crash}{51}{ThinkPad, DJGPP programs crash} \entry{PCMCIA drivers on ThinkPad, crash DJGPP}{51}{PCMCIA drivers on ThinkPad, crash DJGPP} \entry{Disks, accessed by the linker}{52}{Disks, accessed by the linker} \entry{Drives, accessed by the linker}{52}{Drives, accessed by the linker} \entry{Directories accessed by the linker}{52}{Directories accessed by the linker} \entry{Linker, accesses random drives}{52}{Linker, accesses random drives} \entry{Zip drive, accessed by the linker}{52}{Zip drive, accessed by the linker} \entry{CD-ROM, accessed by the linker}{52}{CD-ROM, accessed by the linker} \entry{Network, accessed during linking}{52}{Network, accessed during linking} \entry{Linker, accesses the network}{52}{Linker, accesses the network} \entry{Access to drives, anti-virus software}{52}{Access to drives, anti-virus software} \entry{Programs crash, general troubleshooting}{52}{Programs crash, general troubleshooting} \entry{Crashes, general troubleshooting}{52}{Crashes, general troubleshooting} \entry{Compiler crashes, which subprogram of}{52}{Compiler crashes, which subprogram of} \entry{GCC crashes, which subprogram of}{52}{GCC crashes, which subprogram of} \entry{CD-ROM installation of DJGPP}{53}{CD-ROM installation of DJGPP} \entry{DJGPP on a CD-ROM}{53}{DJGPP on a CD-ROM} \entry{Programs crash, saving debugging output}{53}{Programs crash, saving debugging output} \entry{Redirecting GCC messages to a file}{53}{Redirecting GCC messages to a file} \entry{Standard output/error stream, redirecting to a file}{53}{Standard output/error stream, redirecting to a file} \entry{Error messages, redirecting to a file}{53}{Error messages, redirecting to a file} \entry{Programs crash, searching DJGPP archives}{54}{Programs crash, searching DJGPP archives} \entry{Solved problems, searching in DJGPP archives}{54}{Solved problems, searching in DJGPP archives} \entry{Searching DJGPP archives}{54}{Searching DJGPP archives} \entry{Problems, searching for solution in DJGPP archives}{54}{Problems, searching for solution in DJGPP archives} \entry{DJGPP archives, how to search}{54}{DJGPP archives, how to search} \entry{Archives, DJGPP mailing list/News group, how to search}{54}{Archives, DJGPP mailing list/News group, how to search} \entry{Problems, asking for help}{54}{Problems, asking for help} \entry{Gurus, asking for help}{54}{Gurus, asking for help} \entry{DJGPP users, asking for help}{54}{DJGPP users, asking for help} \entry{Asking for help}{54}{Asking for help} \entry{Help, asking for}{54}{Help, asking for} \entry{Compiler speed}{57}{Compiler speed} \entry{Linker speed}{57}{Linker speed} \entry{Compilation speed}{57}{Compilation speed} \entry{Speed of compilation}{57}{Speed of compilation} \entry{Slow compilation}{57}{Slow compilation} \entry{BIOS setup, influence on compilation speed}{57}{BIOS setup, influence on compilation speed} \entry{Disk cache, influence on compilation speed}{57}{Disk cache, influence on compilation speed} \entry{RAM disk, influence on compilation speed}{57}{RAM disk, influence on compilation speed} \entry{Disabling virtual memory for CWSDPMI}{57}{Disabling virtual memory for CWSDPMI} \entry{Virtual memory, how to disable it for CWSDPMI}{57}{Virtual memory, how to disable it for CWSDPMI} \entry{Compilation time, for Allegro}{57}{Compilation time, for Allegro} \entry{Linking speed, improve by stub-editing ld.exe}{58}{Linking speed, improve by stub-editing ld.exe} \entry{Network installation makes linking slow}{58}{Network installation makes linking slow} \entry{Slow linking, possible reasons}{58}{Slow linking, possible reasons} \entry{Compile-time problems}{61}{Compile-time problems} \entry{Link-time problems}{61}{Link-time problems} \entry{No input files, GCC message}{61}{No input files, GCC message} \entry{Source files, GCC cannot find}{61}{Source files, GCC cannot find} \entry{Header files, GCC can't find}{61}{Header files, GCC can't find} \entry{Libraries, GCC can't find}{61}{Libraries, GCC can't find} \entry{crt0.o, GCC can't find}{61}{crt0.o, GCC can't find} \entry{Missing header files}{61}{Missing header files} \entry{Missing libraries}{61}{Missing libraries} \entry{Missing crt0.o}{61}{Missing crt0.o} \entry{Linker fails to find crt0.o under Novell}{61}{Linker fails to find crt0.o under Novell} \entry{DJGPP environment variable, how to set and test}{61}{DJGPP environment variable, how to set and test} \entry{Long filenames in setting DJGPP env. variable}{61}{Long filenames in setting DJGPP env. variable} \entry{DJGPP environment variable, setting under LFN}{61}{DJGPP environment variable, setting under LFN} \entry{Linker cannot find -lstdcx}{61}{Linker cannot find -lstdcx} \entry{-lstdcxx, linker cannot find}{61}{-lstdcxx, linker cannot find} \entry{-lstdcxx, No such file or directory, linker message}{61}{-lstdcxx, No such file or directory, linker message} \entry{socket.h, where to find}{62}{socket.h, where to find} \entry{graphics.h, where to find}{62}{graphics.h, where to find} \entry{DJGPP, beware of blanks when setting}{63}{DJGPP, beware of blanks when setting} \entry{Blanks in DJGPP variable definition}{63}{Blanks in DJGPP variable definition} \entry{DJGPP.ENV syntax explained}{64}{DJGPP.ENV syntax explained} \entry{DJGPP.ENV, compiler environment variables}{64}{DJGPP.ENV, compiler environment variables} \entry{Allegro header files, not found}{64}{Allegro header files, not found} \entry{Header files, C{\tt\char 43}{\tt\char 43}, GCC can't find}{64}{Header files, C\t {++}, GCC can't find} \entry{Missing C{\tt\char 43}{\tt\char 43} header files}{64}{Missing C\t {++} header files} \entry{C{\tt\char 43}{\tt\char 43}, missing header files}{64}{C\t {++}, missing header files} \entry{iostream.h, GCC can't find}{64}{iostream.h, GCC can't find} \entry{String.h, GCC can't find}{64}{String.h, GCC can't find} \entry{Regex.h, GCC can't find}{64}{Regex.h, GCC can't find} \entry{Complex.h, GCC can't find}{64}{Complex.h, GCC can't find} \entry{stdiostream.h, GCC can't find}{64}{stdiostream.h, GCC can't find} \entry{streambuf.h, GCC can't find}{64}{streambuf.h, GCC can't find} \entry{iostreamP.h, GCC can't find}{64}{iostreamP.h, GCC can't find} \entry{Disk editors destroy long file names}{65}{Disk editors destroy long file names} \entry{Long file names, destroyed by disk editing}{65}{Long file names, destroyed by disk editing} \entry{Header files, long file names destroyed}{65}{Header files, long file names destroyed} \entry{DOS Mode, disables long file names}{65}{DOS Mode, disables long file names} \entry{Long file names, disabled by DOS Mode}{65}{Long file names, disabled by DOS Mode} \entry{C{\tt\char 43}{\tt\char 43}-style comments in C programs, GCC won't compile}{66}{C\t {++}-style comments in C programs, GCC won't compile} \entry{//-style comments in C programs}{66}{//-style comments in C programs} \entry{Comments, C{\tt\char 43}{\tt\char 43}-style in C programs}{66}{Comments, C\t {++}-style in C programs} \entry{-ansi switch and C{\tt\char 43}{\tt\char 43}-style comments in C programs}{66}{-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}{66}{-traditional switch and C\t {++}-style comments in C programs} \entry{//-style comments, rejecting}{67}{//-style comments, rejecting} \entry{GCC can't recognize file format}{67}{GCC can't recognize file format} \entry{GCC can't recognize source language}{67}{GCC can't recognize source language} \entry{File format not recognized by GCC}{67}{File format not recognized by GCC} \entry{Letter case in filenames submitted to GCC}{67}{Letter case in filenames submitted to GCC} \entry{Compilation messages, bogus}{67}{Compilation messages, bogus} \entry{Compiling Objective C sources}{68}{Compiling Objective C sources} \entry{Objective C, compiling}{68}{Objective C, compiling} \entry{DJGPP-specific code}{68}{DJGPP-specific code} \entry{Code, DJGPP-specific}{68}{Code, DJGPP-specific} \entry{Pre-processor symbols, DJGPP-specific}{68}{Pre-processor symbols, DJGPP-specific} \entry{{\_}{\_}DJGPP{\_}{\_} pre-processor symbol}{68}{__DJGPP__ pre-processor symbol} \entry{{\_}{\_}DJGPP{\_}MINOR{\_}{\_} pre-processor symbol}{68}{__DJGPP_MINOR__ pre-processor symbol} \entry{{\_}{\_}GO32{\_}{\_} pre-processor symbol}{68}{__GO32__ pre-processor symbol} \entry{Unresolved externals}{69}{Unresolved externals} \entry{Unresolved externals in C{\tt\char 43}{\tt\char 43} programs, use GXX}{69}{Unresolved externals in C\t {++} programs, use GXX} \entry{Undefined references, when linking Flex programs}{69}{Undefined references, when linking Flex programs} \entry{Linking programs, unresolved library functions}{69}{Linking programs, unresolved library functions} \entry{Linking C{\tt\char 43}{\tt\char 43} programs, use the GXX driver}{69}{Linking C\t {++} programs, use the GXX driver} \entry{Libraries, optional, how to link}{69}{Libraries, optional, how to link} \entry{Library functions, linker won't find}{69}{Library functions, linker won't find} \entry{Floating-point math functions, standard and high-quality}{69}{Floating-point math functions, standard and high-quality} \entry{C{\tt\char 43}{\tt\char 43} STL library, not in lgp271b distribution}{69}{C\t {++} STL library, not in lgp271b distribution} \entry{STL library, not in lgp271b distribution}{69}{STL library, not in lgp271b distribution} \entry{Linking Flex programs}{69}{Linking Flex programs} \entry{Flex programs, linking}{69}{Flex programs, linking} \entry{iostream library, why use it}{69}{iostream library, why use it} \entry{obstack package}{69}{obstack package} \entry{regex package from GNU}{69}{regex package from GNU} \entry{libgpp library}{69}{libgpp library} \entry{libg{\tt\char 43}{\tt\char 43} library}{69}{libg++ library} \entry{libstdc{\tt\char 43}{\tt\char 43} standard templates library}{69}{libstdc++ standard templates library} \entry{Math library, default ANSI/ISO and high-quality functions}{69}{Math library, default ANSI/ISO and high-quality functions} \entry{Linking against optional libraries}{69}{Linking against optional libraries} \entry{Linker can't find library functions}{69}{Linker can't find library functions} \entry{Cannot open -lg{\tt\char 43}{\tt\char 43}, linker message}{69}{Cannot open -lg++, linker message} \entry{-lg{\tt\char 43}{\tt\char 43}: No such file or directory}{69}{-lg++: No such file or directory} \entry{Linking with GRX library}{69}{Linking with GRX library} \entry{Linking with Allegro}{69}{Linking with Allegro} \entry{-liostream option, linker errors}{69}{-liostream option, linker errors} \entry{cannot open -liostr, linker message}{69}{cannot open -liostr, linker message} \entry{Libraries, searching for functions}{70}{Libraries, searching for functions} \entry{Functions, which is in what library}{70}{Functions, which is in what library} \entry{Libraries, order on compilation/link command line}{71}{Libraries, order on compilation/link command line} \entry{Linking programs, unresolved library functions, libraries' order}{71}{Linking programs, unresolved library functions, libraries' order} \entry{Library functions, linker won't find, libraries' order}{71}{Library functions, linker won't find, libraries' order} \entry{Library functions, linker won't find in non-default directories}{71}{Library functions, linker won't find in non-default directories} \entry{Environment variables, linker}{71}{Environment variables, linker} \entry{Inline functions, linker won't find}{72}{Inline functions, linker won't find} \entry{libgcc.a, should be in sync with the compiler}{72}{libgcc.a, should be in sync with the compiler} \entry{extern {\tt\char 34}C{\tt\char 34} qualifier}{72}{extern "C" qualifier} \entry{Linking C functions with C{\tt\char 43}{\tt\char 43} programs}{72}{Linking C functions with C\t {++} programs} \entry{C{\tt\char 43}{\tt\char 43} programs, linking with C functions}{72}{C\t {++} programs, linking with C functions} \entry{String class, cannot be compiled}{72}{String class, cannot be compiled} \entry{C{\tt\char 43}{\tt\char 43} linking problems with String class}{72}{C\t {++} linking problems with String class} \entry{iostream functions, linker can't find}{72}{iostream functions, linker can't find} \entry{{\_}{\_}throw and {\_}{\_}eh{\_}pc, undefined references}{72}{__throw and __eh_pc, undefined references} \entry{{\_}{\_}eh{\_}pc and {\_}{\_}throw, undefined references}{72}{__eh_pc and __throw, undefined references} \entry{complex.h functions, linker can't find}{72}{complex.h functions, linker can't find} \entry{-fno-rtti switch, crashes C{\tt\char 43}{\tt\char 43} programs}{72}{-fno-rtti switch, crashes C\t {++} programs} \entry{Calling C or assembly functions from C{\tt\char 43}{\tt\char 43} programs}{72}{Calling C or assembly functions from C++ programs} \entry{Undefined reference to {\_}streamv}{72}{Undefined reference to _streamv} \entry{{\_}streamv, undefined references}{72}{_streamv, undefined references} \entry{djgpp{\_}first{\_}ctor, unresolved by linker}{73}{djgpp_first_ctor, unresolved by linker} \entry{djgpp{\_}first{\_}dtor, unresolved by linker}{73}{djgpp_first_dtor, unresolved by linker} \entry{Linker won't find djgpp{\_}first{\_}dtor symbol}{73}{Linker won't find djgpp_first_dtor symbol} \entry{Unresolved externals, djgpp{\_}first{\_}ctor}{73}{Unresolved externals, djgpp_first_ctor} \entry{C{\tt\char 43}{\tt\char 43} programs, large executable}{73}{C\t {++} programs, large executable} \entry{Static array enlarges C{\tt\char 43}{\tt\char 43} executable}{73}{Static array enlarges C\t {++} executable} \entry{Executable, bloated by static array}{73}{Executable, bloated by static array} \entry{-fconserve-space switch}{73}{-fconserve-space switch} \entry{Executable size, how to make smaller}{73}{Executable size, how to make smaller} \entry{Compressing DJGPP executables}{73}{Compressing DJGPP executables} \entry{EXE compressor for DJGPP}{73}{EXE compressor for DJGPP} \entry{Debugging symbols, how to strip from executables}{73}{Debugging symbols, how to strip from executables} \entry{Executable, how to strip off debugging symbols}{73}{Executable, how to strip off debugging symbols} \entry{removing parts of startup code}{74}{removing parts of startup code} \entry{startup code, removing parts of it}{74}{startup code, removing parts of it} \entry{DLLs, why doesn't DJGPP use them}{75}{DLLs, why doesn't DJGPP use them} \entry{Linker fails to produce executable}{76}{Linker fails to produce executable} \entry{Novell, linker or STUBIFY don't produce executable}{76}{Novell, linker or STUBIFY don't produce executable} \entry{Allegro library, failure to compile}{77}{Allegro library, failure to compile} \entry{Register-opcode mismatch, while building Allegro}{77}{Register-opcode mismatch, while building Allegro} \entry{Fixed or forbidden register spilled, GCC error message}{77}{Fixed or forbidden register spilled, GCC error message} \entry{NULL, redefinition in C{\tt\char 43}{\tt\char 43} header files}{78}{NULL, redefinition in C\t {++} header files} \entry{Redefinition of NULL in C{\tt\char 43}{\tt\char 43} headers}{78}{Redefinition of NULL in C\t {++} headers} \entry{Exceptions, C{\tt\char 43}{\tt\char 43}, support by GCC}{78}{Exceptions, C\t {++}, support by GCC} \entry{C{\tt\char 43}{\tt\char 43} exceptions, support by GCC}{78}{C\t {++} exceptions, support by GCC} \entry{Abort! message in C{\tt\char 43}{\tt\char 43} programs that use exceptions}{78}{Abort! message in C\t {++} programs that use exceptions} \entry{Exceptions, with -fsjlj-exceptions}{78}{Exceptions, with -fsjlj-exceptions} \entry{-frtti switch}{78}{-frtti switch} \entry{{\_}{\_}EH{\_}FRAME{\_}BEGIN{\_}{\_}, undefined references}{79}{__EH_FRAME_BEGIN__, undefined references} \entry{Undefined references to {\_}{\_}EH{\_}FRAME{\_}BEGIN{\_}{\_}}{79}{Undefined references to __EH_FRAME_BEGIN__} \entry{Redefinition of class exception, compiler message}{79}{Redefinition of class exception, compiler message} \entry{math.h, conflicts with C{\tt\char 43}{\tt\char 43} programs}{79}{math.h, conflicts with C\t {++} programs} \entry{Assembly code, generating with GCC}{79}{Assembly code, generating with GCC} \entry{Listing, assembly and source code}{79}{Listing, assembly and source code} \entry{sys/movedata.h header, compilation errors}{79}{sys/movedata.h header, compilation errors} \entry{movedata.h header, compilation problems}{79}{movedata.h header, compilation problems} \entry{Object libraries, how to create/update}{80}{Object libraries, how to create/update} \entry{Libraries, object, how to create/update}{80}{Libraries, object, how to create/update} \entry{-lfoo, linker switch}{80}{-lfoo, linker switch} \entry{Libraries, creating with RHIDE}{80}{Libraries, creating with RHIDE} \entry{Object libraries, creating with RHIDE}{80}{Object libraries, creating with RHIDE} \entry{CD installation program doesn't copy stubify.exe}{81}{CD installation program doesn't copy stubify.exe} \entry{cannot exec stubify, compiler message}{81}{cannot exec stubify, compiler message} \entry{Run-time problems}{83}{Run-time problems} \entry{Program crashes in v2.0, but not in v1.x}{83}{Program crashes in v2.0, but not in v1.x} \entry{Uninitialized memory crashes v2.0 programs}{83}{Uninitialized memory crashes v2.0 programs} \entry{v2.0, program crashes}{83}{v2.0, program crashes} \entry{DEADBEEF, use to spot uninitialized memory}{83}{DEADBEEF, use to spot uninitialized memory} \entry{Null pointer dereference crashes v2.0 programs}{83}{Null pointer dereference crashes v2.0 programs} \entry{Crashes, v2.0 programs}{83}{Crashes, v2.0 programs} \entry{Page fault error message from CWSDPMI}{83}{Page fault error message from CWSDPMI} \entry{Crash, inside malloc or free}{83}{Crash, inside \code {malloc} or \code {free}} \entry{malloc function, crashes with SIGSEGV}{83}{malloc function, crashes with SIGSEGV} \entry{free function, crashes with SIGSEGV}{83}{free function, crashes with SIGSEGV} \entry{calloc function, crashes with SIGSEGV}{83}{calloc function, crashes with SIGSEGV} \entry{delete operator, crashes with SIGSEGV}{83}{delete operator, crashes with SIGSEGV} \entry{SIGSEGV, in malloc/calloc/free functions}{83}{SIGSEGV, in malloc/calloc/free functions} \entry{memory-allocation bugs, debugging with YAMD}{84}{memory-allocation bugs, debugging with YAMD} \entry{Traceback, how to read}{84}{Traceback, how to read} \entry{Crash traceback, how to read}{84}{Crash traceback, how to read} \entry{Stack dump, how to read}{84}{Stack dump, how to read} \entry{Inline assembly, inaccurate SYMIFY output}{84}{Inline assembly, inaccurate SYMIFY output} \entry{Source line from the EIP, using GDB}{85}{Source line from the EIP, using GDB} \entry{Program counter, converting to source lines}{85}{Program counter, converting to source lines} \entry{EIP, converting to source lines}{85}{EIP, converting to source lines} \entry{Files, reading and writing}{85}{Files, reading and writing} \entry{Binary file I/O}{85}{Binary file I/O} \entry{ifstream, and binary files}{85}{ifstream, and binary files} \entry{ofstream, and binary files}{85}{ofstream, and binary files} \entry{fstream, and binary files}{85}{fstream, and binary files} \entry{fstream truncates files open for read/write}{86}{fstream truncates files open for read/write} \entry{Truncation of files when using fstream}{86}{Truncation of files when using fstream} \entry{Screen I/O}{86}{Screen I/O} \entry{Interactive programs, screen I/O}{86}{Interactive programs, screen I/O} \entry{gotoxy doesn't work with `printf'}{86}{gotoxy doesn't work with `printf'} \entry{Color text cannot be printed with `printf'}{86}{Color text cannot be printed with `printf'} \entry{printf cannot print color text}{86}{printf cannot print color text} \entry{Prompt, printed too late}{86}{Prompt, printed too late} \entry{Distributing DJGPP programs, required files}{87}{Distributing DJGPP programs, required files} \entry{DPMI, required to run DJGPP programs}{87}{DPMI, required to run DJGPP programs} \entry{DJGPP-compiled programs can't find DPMI}{87}{DJGPP-compiled programs can't find DPMI} \entry{Stand-alone DJGPP programs that don't need DPMI}{87}{Stand-alone DJGPP programs that don't need DPMI} \entry{Files to be distributed with DJGPP programs}{87}{Files to be distributed with DJGPP programs} \entry{Floating-point emulator, distributing with DJGPP programs}{87}{Floating-point emulator, distributing with DJGPP programs} \entry{Files, max open simultaneously}{87}{Files, max open simultaneously} \entry{Handles, maximum available number}{87}{Handles, maximum available number} \entry{dup library function, maximum number of handles}{87}{dup library function, maximum number of handles} \entry{Inheritance, file handles}{88}{Inheritance, file handles} \entry{FILES= directive}{88}{FILES= directive} \entry{PerVMFiles= directive}{88}{PerVMFiles= directive} \entry{File handles, under Windows}{88}{File handles, under Windows} \entry{File handles, with SHARE}{88}{File handles, with SHARE} \entry{Anti-virus programs find virus in DJGPP}{89}{Anti-virus programs find virus in DJGPP} \entry{Virus infection in DJGPP programs}{89}{Virus infection in DJGPP programs} \entry{Graphics issues}{91}{Graphics issues} \entry{Graphics driver setup}{91}{Graphics driver setup} \entry{SVGA types supported by GRX}{91}{SVGA types supported by GRX} \entry{VESA support by GRX}{91}{VESA support by GRX} \entry{Accessing video memory}{91}{Accessing video memory} \entry{Video memory, direct access}{91}{Video memory, direct access} \entry{Graphics, direct video access}{91}{Graphics, direct video access} \entry{Text-mode video memory access}{91}{Text-mode video memory access} \entry{Far pointer memory access}{91}{Far pointer memory access} \entry{Accessing VBE 2.0 linear frame buffer}{91}{Accessing VBE 2.0 linear frame buffer} \entry{Linear frame buffer access}{91}{Linear frame buffer access} \entry{VBE 2.0 linear frame buffer access}{91}{VBE 2.0 linear frame buffer access} \entry{Screen contents not restored under Windows}{92}{Screen contents not restored under Windows} \entry{Graphics screen messed up under Windows}{92}{Graphics screen messed up under Windows} \entry{Graphics programs, and Windows DOS Mode}{92}{Graphics programs, and Windows DOS Mode} \entry{Alt-TAB, cannot switch away from graphics programs}{92}{Alt-TAB, cannot switch away from graphics programs} \entry{Graphics programs, cannot switch with Alt-TAB}{92}{Graphics programs, cannot switch with Alt-TAB} \entry{DOS Mode, Windows suggests for graphics programs}{92}{DOS Mode, Windows suggests for graphics programs} \entry{Floating-point emulation}{95}{Floating-point emulation} \entry{Floating-point issues}{95}{Floating-point issues} \entry{Emulation, floating-point}{95}{Emulation, floating-point} \entry{Emulator library}{95}{Emulator library} \entry{Library, floating-point emulation}{95}{Library, floating-point emulation} \entry{Distributing DJGPP programs, FP emulator}{95}{Distributing DJGPP programs, FP emulator} \entry{Floating-point emulation doesn't work}{95}{Floating-point emulation doesn't work} \entry{-lwmemu, undefined references when linking}{95}{-lwmemu, undefined references when linking} \entry{387, an environment variable}{95}{\code {387}, an environment variable} \entry{emu387, an environment variable}{95}{\code {emu387}, an environment variable} \entry{Inaccuracies, using emulator}{95}{Inaccuracies, using emulator} \entry{Emulator, floating-point inaccuracies}{95}{Emulator, floating-point inaccuracies} \entry{Pi, accurate computation}{95}{Pi, accurate computation} \entry{atan, inaccuracies with FP emulator}{95}{atan, inaccuracies with FP emulator} \entry{sqrt, problems under FP emulator}{95}{sqrt, problems under FP emulator} \entry{Emulation, hangs on Windows}{96}{Emulation, hangs on Windows} \entry{Debugging issues}{97}{Debugging issues} \entry{Debugger, usage}{97}{Debugger, usage} \entry{Debuggers for DJGPP programs}{97}{Debuggers for DJGPP programs} \entry{Compilation for debugging}{97}{Compilation for debugging} \entry{Floating-point, debugger support}{97}{Floating-point, debugger support} \entry{DXE can be debugged with EDEBUG32}{97}{DXE can be debugged with EDEBUG32} \entry{stabs debugging format, how to compile}{97}{stabs debugging format, how to compile} \entry{Debugging, stabs format}{97}{Debugging, stabs format} \entry{dwarf2 debugging format, how to compile}{97}{dwarf2 debugging format, how to compile} \entry{Debugging, dwarf2 format}{97}{Debugging, dwarf2 format} \entry{Crash message, how to interpret}{98}{Crash message, how to interpret} \entry{Debugging programs which crash}{98}{Debugging programs which crash} \entry{Crash traceback, saving to a file}{98}{Crash traceback, saving to a file} \entry{Call frame traceback, number of levels}{98}{Call frame traceback, number of levels} \entry{Crash traceback, number of levels}{98}{Crash traceback, number of levels} \entry{Traceback, number of levels}{98}{Traceback, number of levels} \entry{Page Fault message}{99}{Page Fault message} \entry{NULL pointer}{99}{NULL pointer} \entry{General Protection Fault message}{100}{General Protection Fault message} \entry{GPF with an error code}{100}{GPF with an error code} \entry{Stack limits, in crash dump}{100}{Stack limits, in crash dump} \entry{Exception stack in DJGPP}{101}{Exception stack in DJGPP} \entry{Traceback points to a closing brace of a function}{101}{Traceback points to a closing brace of a function} \entry{SYMIFY output points to a closing brace of a function}{101}{SYMIFY output points to a closing brace of a function} \entry{Closing brace of function, program crashes there}{101}{Closing brace of function, program crashes there} \entry{Stack Fault message}{101}{Stack Fault message} \entry{Floating Point exception message}{101}{Floating Point exception message} \entry{Cannot continue from exception message}{101}{Cannot continue from exception message} \entry{Invalid TSS in RMCB message}{102}{Invalid TSS in RMCB message} \entry{Double Fault message}{102}{Double Fault message} \entry{Ctrl-C, causes abort with Double Fault}{102}{Ctrl-C, causes abort with Double Fault} \entry{Ctrl-BREAK, causes abort with Double Fault}{102}{Ctrl-BREAK, causes abort with Double Fault} \entry{Debugging graphics programs}{103}{Debugging graphics programs} \entry{Graphics programs, debugging}{103}{Graphics programs, debugging} \entry{Monochrome monitor, redirecting screen output}{103}{Monochrome monitor, redirecting screen output} \entry{Code page change might prevent MSHELL from working}{103}{Code page change might prevent MSHELL from working} \entry{Monochrome monitor device driver}{103}{Monochrome monitor device driver} \entry{Monochrome monitor, support in RHIDE}{103}{Monochrome monitor, support in RHIDE} \entry{Debugging graphics programs on Windows}{104}{Debugging graphics programs on Windows} \entry{Graphics program debugging on Windows}{104}{Graphics program debugging on Windows} \entry{Dual-monitor support in RHIDE, problems}{104}{Dual-monitor support in RHIDE, problems} \entry{Debugging C{\tt\char 43}{\tt\char 43} programs}{104}{Debugging C\t {++} programs} \entry{Debugger cannot find C{\tt\char 43}{\tt\char 43} source}{104}{Debugger cannot find C\t {++} source} \entry{C{\tt\char 43}{\tt\char 43} source, debugger cannot find}{104}{C\t {++} source, debugger cannot find} \entry{Class method name in GDB}{105}{Class method name in GDB} \entry{Class static variable name in GDB}{105}{Class static variable name in GDB} \entry{Method name in C{\tt\char 43}{\tt\char 43}, how to pass to GDB}{105}{Method name in C\t {++}, how to pass to GDB} \entry{C{\tt\char 43}{\tt\char 43} class variables under GDB}{105}{C\t {++} class variables under GDB} \entry{C{\tt\char 43}{\tt\char 43} method names under GDB}{105}{C\t {++} method names under GDB} \entry{Source language is not recognized by GDB in C{\tt\char 43}{\tt\char 43} programs}{105}{Source language is not recognized by GDB in C\t {++} programs} \entry{Mangling C{\tt\char 43}{\tt\char 43} identifiers, GNU style}{105}{Mangling C\t {++} identifiers, GNU style} \entry{C{\tt\char 43}{\tt\char 43} debugging with stabs information}{105}{C\t {++} debugging with stabs information} \entry{COFF debug format, limitations}{105}{COFF debug format, limitations} \entry{stabs debug format, not supported by some utilities}{105}{stabs debug format, not supported by some utilities} \entry{Debugger doesn't know about #include'd source}{105}{Debugger doesn't know about #include'd source} \entry{Including source code, problems with debugging}{105}{Including source code, problems with debugging} \entry{Debugging C/C{\tt\char 43}{\tt\char 43} code generated by another program}{105}{Debugging C/C\t {++} code generated by another program} \entry{COFF debug format, does not support #included files}{105}{COFF debug format, does not support \code {#include}d files} \entry{Breakpoints in #included files}{105}{Breakpoints in \code {#include}d files} \entry{Tracing into functions in #included files}{105}{Tracing into functions in \code {#include}d files} \entry{Static uninitialized variables, failure debugging}{106}{Static uninitialized variables, failure debugging} \entry{Display or set static variables inside debugger}{106}{Display or set static variables inside debugger} \entry{COFF debug format, does not support variables in .bss}{106}{COFF debug format, does not support variables in \code {.bss}} \entry{bool type, cannot be displayed by debugger}{106}{bool type, cannot be displayed by debugger} \entry{COFF debug format, does not support bool variables}{106}{COFF debug format, does not support \code {bool} variables} \entry{complex data type, how to debug}{107}{\code {complex} data type, how to debug} \entry{Signals in debugged programs}{107}{Signals in debugged programs} \entry{Debugger crashes on programs which use exceptions}{107}{Debugger crashes on programs which use exceptions} \entry{Floating-point emulation under debugger}{107}{Floating-point emulation under debugger} \entry{Ctrl-C in debugged programs}{107}{Ctrl-C in debugged programs} \entry{Debugger crashes on programs compiled for profiling}{107}{Debugger crashes on programs compiled for profiling} \entry{Profiled programs crash under debugger}{107}{Profiled programs crash under debugger} \entry{Keyboard interrupt cannot be hooked under debugger}{107}{Keyboard interrupt cannot be hooked under debugger} \entry{Debugger doesn't pass signals to debuggee}{107}{Debugger doesn't pass signals to debuggee} \entry{Debugger GP Faults on Windows 3.X}{107}{Debugger GP Faults on Windows 3.X} \entry{Single-stepping doesn't work in GDB on Windows 3.X}{107}{Single-stepping doesn't work in GDB on Windows 3.X} \entry{Single-stepping doesn't work in RHIDE on Windows 3.X}{107}{Single-stepping doesn't work in RHIDE on Windows 3.X} \entry{Breakpoints don't work in GDB under Windows}{107}{Breakpoints don't work in GDB under Windows} \entry{Watchpoints don't work in GDB under Windows}{107}{Watchpoints don't work in GDB under Windows} \entry{Profiling issues}{109}{Profiling issues} \entry{Profiling DJGPP programs}{109}{Profiling DJGPP programs} \entry{DJGPP programs, profiling}{109}{DJGPP programs, profiling} \entry{Optimizing DJGPP programs}{109}{Optimizing DJGPP programs} \entry{Programs crash when compiled for profiling}{109}{Programs crash when compiled for profiling} \entry{Programs run slowly when compiled with -pg}{109}{Programs run slowly when compiled with -pg} \entry{Profiling, program crashes or runs slowly}{109}{Profiling, program crashes or runs slowly} \entry{Monochrome display and profiling}{109}{Monochrome display and profiling} \entry{Profiled program, garbled profile}{110}{Profiled program, garbled profile} \entry{Profiling shows 100% of CPU in one function}{110}{Profiling shows 100% of CPU in one function} \entry{Profiling, library routines}{110}{Profiling, library routines} \entry{{\_}{\_}dpmi{\_}int, high in program's profile}{110}{__dpmi_int, high in program's profile} \entry{{\_}{\_}dj{\_}movedata, high in program's profile}{110}{__dj_movedata, high in program's profile} \entry{I/O-bound programs, how to recognize}{110}{I/O-bound programs, how to recognize} \entry{Profiler produces no output}{110}{Profiler produces no output} \entry{Profiling programs that terminate abnormally}{110}{Profiling programs that terminate abnormally} \entry{Programs that exit abnormally, how to profile}{110}{Programs that exit abnormally, how to profile} \entry{gmon.out: no such file, profiler message}{110}{gmon.out: no such file, profiler message} \entry{Performance issues}{113}{Performance issues} \entry{Run-time performance}{113}{Run-time performance} \entry{Code quality, GCC}{113}{Code quality, GCC} \entry{Mode switches, effect on program speed}{113}{Mode switches, effect on program speed} \entry{Code speed, slower in v2.x}{113}{Code speed, slower in v2.x} \entry{v2 code slower than v1.x}{113}{v2 code slower than v1.x} \entry{v2.01 code slower than v2.0}{113}{v2.01 code slower than v2.0} \entry{Runtime speed, slower in v2.x}{113}{Runtime speed, slower in v2.x} \entry{Binutils 2.8.x, slower than 2.7}{113}{Binutils 2.8.x, slower than 2.7} \entry{Optimization, GCC switches}{113}{Optimization, GCC switches} \entry{Speed of code, recommended GCC switches}{113}{Speed of code, recommended GCC switches} \entry{Stack, misalignment causes slow-down}{113}{Stack, misalignment causes slow-down} \entry{Stack alignment}{114}{Stack alignment} \entry{Alignment, effect on program speed}{114}{Alignment, effect on program speed} \entry{Loop alignment, effect on program speed}{114}{Loop alignment, effect on program speed} \entry{Jump alignment, effect on program speed}{114}{Jump alignment, effect on program speed} \entry{Function alignment, effect on program speed}{114}{Function alignment, effect on program speed} \entry{K6, alignment effects on program speed}{114}{K6, alignment effects on program speed} \entry{Optimization bugs, in PGCC with -O7 and higher}{114}{Optimization bugs, in PGCC with -O7 and higher} \entry{Arrays, and code speed}{114}{Arrays, and code speed} \entry{Speed of array-based programs}{114}{Speed of array-based programs} \entry{Inlining, and code speed}{114}{Inlining, and code speed} \entry{Alignment of data and code by GAS can slow-down code}{115}{Alignment of data and code by GAS can slow-down code} \entry{Code is slow due to incorrect alignment by GAS}{115}{Code is slow due to incorrect alignment by GAS} \entry{Slow code, due to bad alignment by GAS}{115}{Slow code, due to bad alignment by GAS} \entry{Pentium-optimized code}{115}{Pentium-optimized code} \entry{I/O speed, DJGPP programs}{115}{I/O speed, DJGPP programs} \entry{Buffered I/O, effect of buffer size on I/O speed}{115}{Buffered I/O, effect of buffer size on I/O speed} \entry{setvbuf, effect on I/O speed}{115}{setvbuf, effect on I/O speed} \entry{Transfer buffer, what it is}{116}{Transfer buffer, what it is} \entry{Transfer buffer, maximum possible size}{116}{Transfer buffer, maximum possible size} \entry{File I/O, DJGPP optimization}{116}{File I/O, DJGPP optimization} \entry{File I/O, compared with Linux}{116}{File I/O, compared with Linux} \entry{Disk I/O, compared with Linux}{116}{Disk I/O, compared with Linux} \entry{Slow-down, programs ported from other compilers}{117}{Slow-down, programs ported from other compilers} \entry{Ported programs run much slower}{117}{Ported programs run much slower} \entry{FPU emulation slows down programs}{117}{FPU emulation slows down programs} \entry{Slow-down, when resident software uses XMS}{117}{Slow-down, when resident software uses XMS} \entry{Slow program, due to DOS/BIOS calls}{117}{Slow program, due to DOS/BIOS calls} \entry{Slow program, due to paging}{117}{Slow program, due to paging} \entry{Slow program, due to FP emulation}{118}{Slow program, due to FP emulation} \entry{Slow program, due to library inefficiency}{118}{Slow program, due to library inefficiency} \entry{Memory at run time}{119}{Memory at run time} \entry{Virtual memory}{119}{Virtual memory} \entry{Virtual memory, maximum available}{119}{Virtual memory, maximum available} \entry{Memory, virtual, maximum available}{119}{Memory, virtual, maximum available} \entry{Virtual memory, malloc doesn't change}{119}{Virtual memory, malloc doesn't change} \entry{Virtual memory, free doesn't change}{119}{Virtual memory, free doesn't change} \entry{Memory, virtual, malloc doesn't change}{119}{Memory, virtual, malloc doesn't change} \entry{Memory, virtual, free doesn't change}{119}{Memory, virtual, free doesn't change} \entry{malloc doesn't change virtual memory}{119}{malloc doesn't change virtual memory} \entry{free doesn't change virtual memory}{119}{free doesn't change virtual memory} \entry{{\_}{\_}dpmi{\_}get{\_}memory{\_}information, doesn't change after free/malloc}{119}{__dpmi_get_memory_information, doesn't change after free/malloc} \entry{{\_}go32{\_}remaining{\_}physical{\_}memory, doesn't change after free/malloc}{119}{_go32_remaining_physical_memory, doesn't change after free/malloc} \entry{{\_}go32{\_}remaining{\_}physical{\_}memory, under OS/2}{119}{_go32_remaining_physical_memory, under OS/2} \entry{Virtual memory, QDPMI failure}{120}{Virtual memory, QDPMI failure} \entry{Memory, virtual, QDPMI failure}{120}{Memory, virtual, QDPMI failure} \entry{Virtual memory, failure to allocate}{120}{Virtual memory, failure to allocate} \entry{Memory, virtual, failure to allocate}{120}{Memory, virtual, failure to allocate} \entry{sbrk algorithm and QDPMI}{120}{sbrk algorithm and QDPMI} \entry{{\_}crt0{\_}startup{\_}flags settings and QDPMI}{120}{_crt0_startup_flags settings and QDPMI} \entry{Memory allocation fails under QDPMI or Windows 9X}{121}{Memory allocation fails under QDPMI or Windows 9X} \entry{malloc fails under QDPMI or Windows}{121}{malloc fails under QDPMI or Windows} \entry{calloc fails under QDPMI or Windows}{121}{calloc fails under QDPMI or Windows} \entry{Program crashes while allocating memory}{121}{Program crashes while allocating memory} \entry{Memory allocation in small chunks fails}{121}{Memory allocation in small chunks fails} \entry{malloc in small chunks fails}{121}{malloc in small chunks fails} \entry{Memory allocation fails under Windows 3.X}{121}{Memory allocation fails under Windows 3.X} \entry{malloc fails under Windows 3.X}{121}{malloc fails under Windows 3.X} \entry{calloc fails under Windows 3.X}{121}{calloc fails under Windows 3.X} \entry{Memory allocation fails under Windows 9X}{121}{Memory allocation fails under Windows 9X} \entry{malloc fails under Windows 9X}{121}{malloc fails under Windows 9X} \entry{calloc fails under Windows 9X}{121}{calloc fails under Windows 9X} \entry{Virtual memory under Windows 9X}{121}{Virtual memory under Windows 9X} \entry{DPMI memory setting under Windows 9X}{121}{DPMI memory setting under Windows 9X} \entry{Memory setting under Windows 9X}{121}{Memory setting under Windows 9X} \entry{Memory allocation fails under EMM386 or HIMEM}{122}{Memory allocation fails under EMM386 or HIMEM} \entry{malloc fails under EMM386 or HIMEM}{122}{malloc fails under EMM386 or HIMEM} \entry{calloc fails under EMM386 or HIMEM}{122}{calloc fails under EMM386 or HIMEM} \entry{Paging starts before all RAM is used}{122}{Paging starts before all RAM is used} \entry{Child programs, how much memory is left}{122}{Child programs, how much memory is left} \entry{Nested programs, how much memory is left}{122}{Nested programs, how much memory is left} \entry{Spawned programs, how much memory is left}{122}{Spawned programs, how much memory is left} \entry{Subsidiary programs, how much memory is left}{122}{Subsidiary programs, how much memory is left} \entry{Memory, how much is left for spawned programs}{122}{Memory, how much is left for spawned programs} \entry{No free XMS memory when NOEMS parameter is used}{122}{No free XMS memory when NOEMS parameter is used} \entry{Stack size under DJGPP}{123}{Stack size under DJGPP} \entry{Automatic variables, how much memory}{123}{Automatic variables, how much memory} \entry{{\_}stklen, setting stack size}{123}{_stklen, setting stack size} \entry{Programs crash with SIGSEGV due to small stack size}{123}{Programs crash with SIGSEGV due to small stack size} \entry{Stack size, insufficient, causes programs to crash}{123}{Stack size, insufficient, causes programs to crash} \entry{Stack overflow under debugger}{123}{Stack overflow under debugger} \entry{Debugger causes programs to overflow the stack}{123}{Debugger causes programs to overflow the stack} \entry{C{\tt\char 43}{\tt\char 43} compiler crashes for large programs}{123}{C\t {++} compiler crashes for large programs} \entry{{\_}{\_}{\_}djgpp{\_}exception{\_}table, traceback points to}{123}{___djgpp_exception_table, traceback points to} \entry{Stack size, under a debugger}{124}{Stack size, under a debugger} \entry{Memory access, Windows 98 complains}{125}{Memory access, Windows 98 complains} \entry{Program accessed memory in use, Windows message}{125}{Program accessed memory in use, Windows message} \entry{Batch files running programs, Windows complains}{125}{Batch files running programs, Windows complains} \entry{DOS box properties, memory settings on Windows 98}{125}{DOS box properties, memory settings on Windows 98} \entry{Memory settings for DOS box on Windows 98}{125}{Memory settings for DOS box on Windows 98} \entry{Command-line arguments}{127}{Command-line arguments} \entry{Wildcards expansion}{127}{Wildcards expansion} \entry{Filename wildcards expansion}{127}{Filename wildcards expansion} \entry{Filename globbing}{127}{Filename globbing} \entry{Globbing in filenames}{127}{Globbing in filenames} \entry{Command line, filename expansion/globbing}{127}{Command line, filename expansion/globbing} \entry{Command line, * and ? characters}{127}{Command line, * and ? characters} \entry{* character in command lines}{127}{* character in command lines} \entry{? character in command lines}{127}{? character in command lines} \entry{Globbing and file name letter-case}{128}{Globbing and file name letter-case} \entry{Case-sensitivity, while expanding wildcards}{128}{Case-sensitivity, while expanding wildcards} \entry{Wildcards, and letter-case in file names}{128}{Wildcards, and letter-case in file names} \entry{FNCASE variable and wildcard expansion}{128}{FNCASE variable and wildcard expansion} \entry{Wildcards expansion, disabling}{128}{Wildcards expansion, disabling} \entry{Disabling wildcard expansion}{128}{Disabling wildcard expansion} \entry{Disabling globbing in filenames}{128}{Disabling globbing in filenames} \entry{Filename wildcards, disabling expansion}{128}{Filename wildcards, disabling expansion} \entry{Filename globbing, disabling}{128}{Filename globbing, disabling} \entry{Globbing in filenames, disabling}{128}{Globbing in filenames, disabling} \entry{Command line, disabling filename expansion/globbing}{128}{Command line, disabling filename expansion/globbing} \entry{{\_}{\_}crt0{\_}glob{\_}function, disable filename globbing}{128}{__crt0_glob_function, disable filename globbing} \entry{Quotes, how to pass them to programs}{128}{Quotes, how to pass them to programs} \entry{@ character, how to pass it to programs}{128}{@ character, how to pass it to programs} \entry{Command line, escaping special characters}{128}{Command line, escaping special characters} \entry{Whitespace in wildcards}{129}{Whitespace in wildcards} \entry{Wildcards, and whitespace in file names}{129}{Wildcards, and whitespace in file names} \entry{Long command lines}{129}{Long command lines} \entry{Makefiles with long command lines}{129}{Makefiles with long command lines} \entry{!proxy method of passing long command lines}{129}{!proxy method of passing long command lines} \entry{Command lines, longer than 126 characters}{129}{Command lines, longer than 126 characters} \entry{Response file, passing long command lines}{129}{Response file, passing long command lines} \entry{system function doesn't call COMMAND.COM}{130}{\code {system} function doesn't call COMMAND.COM} \entry{Long command lines, maximum length}{130}{Long command lines, maximum length} \entry{Length of command line}{130}{Length of command line} \entry{Maximum length of command line}{130}{Maximum length of command line} \entry{Environment size affects spawning child programs}{130}{Environment size affects spawning child programs} \entry{Spawning programs, effect of environment size}{130}{Spawning programs, effect of environment size} \entry{Long command lines, from Makefile}{131}{Long command lines, from Makefile} \entry{Makefile, passing long command lines}{131}{Makefile, passing long command lines} \entry{SHELL= variable in Makefile, effect on long command lines}{131}{SHELL= variable in Makefile, effect on long command lines} \entry{Redirection in Makefile, effect on long command lines}{131}{Redirection in Makefile, effect on long command lines} \entry{Command lines truncated in a Makefile}{131}{Command lines truncated in a Makefile} \entry{MAKESHELL environment variable}{131}{MAKESHELL environment variable} \entry{Long command lines, problems with RHIDE}{131}{Long command lines, problems with RHIDE} \entry{Converting DOS code to DJGPP}{133}{Converting DOS code to DJGPP} \entry{DOS programs, converting to DJGPP}{133}{DOS programs, converting to DJGPP} \entry{Libraries, converting to DJGPP}{133}{Libraries, converting to DJGPP} \entry{Assembly source, GCC/Gas syntax}{133}{Assembly source, GCC/Gas syntax} \entry{AT&T vs Intel assembly syntax}{133}{AT&T vs Intel assembly syntax} \entry{Intel vs AT&T assembly syntax}{133}{Intel vs AT&T assembly syntax} \entry{Assembly syntax}{133}{Assembly syntax} \entry{Tutorials on AT&T syntax and NASM}{133}{Tutorials on AT&T syntax and NASM} \entry{Intel assembly syntax, accepted by Gas}{134}{Intel assembly syntax, accepted by Gas} \entry{Assembly source, converting to AT&T syntax}{134}{Assembly source, converting to AT&T syntax} \entry{Intel-style assembly code, using with DJGPP}{134}{Intel-style assembly code, using with DJGPP} \entry{COFF option of masm, debugging problems}{135}{COFF option of \sc {masm}, debugging problems} \entry{Debugging problems, with COFF option of masm}{135}{Debugging problems, with COFF option of \sc {masm}} \entry{Assembly source, converting from AT&T to Intel}{135}{Assembly source, converting from AT&T to Intel} \entry{AT&T-style assembly, converting to Intel}{135}{AT&T-style assembly, converting to Intel} \entry{Assembly source, converting to protected mode}{136}{Assembly source, converting to protected mode} \entry{Protected mode and converted assembly code}{136}{Protected mode and converted assembly code} \entry{Registers, which ones to preserve in assembly code}{136}{Registers, which ones to preserve in assembly code} \entry{Assembly functions, which registers to preserve}{136}{Assembly functions, which registers to preserve} \entry{Assembly code crashes when linked with optimized C code}{136}{Assembly code crashes when linked with optimized C code} \entry{Clobbering registers in assembly code}{136}{Clobbering registers in assembly code} \entry{Link errors, when linking assembly modules}{137}{Link errors, when linking assembly modules} \entry{Linking C and C{\tt\char 43}{\tt\char 43} modules}{137}{Linking C and C\t {++} modules} \entry{Assembly modules, link errors}{137}{Assembly modules, link errors} \entry{extern {\tt\char 34}C{\tt\char 34}, use with assembly and C code}{137}{\code {extern "C"}, use with assembly and C code} \entry{DOS libraries, using with GCC}{137}{DOS libraries, using with GCC} \entry{DOS object files, using with GCC}{137}{DOS object files, using with GCC} \entry{.lib libraries, using with GCC}{137}{.lib libraries, using with GCC} \entry{.obj object files, using with GCC}{137}{.obj object files, using with GCC} \entry{Converting DOS .obj/.lib files to GCC}{137}{Converting DOS .obj/.lib files to GCC} \entry{.o files from EMXAOUT can't be put into a library}{137}{.o files from EMXAOUT can't be put into a library} \entry{DOS code, using with GCC}{138}{DOS code, using with GCC} \entry{16-bit code, using with DJGPP}{138}{16-bit code, using with DJGPP} \entry{Calling 16-bit code from DJGPP}{138}{Calling 16-bit code from DJGPP} \entry{far, declaration, porting to DJGPP}{138}{far, declaration, porting to DJGPP} \entry{near, declaration, porting to DJGPP}{138}{near, declaration, porting to DJGPP} \entry{huge, declaration, porting to DJGPP}{138}{huge, declaration, porting to DJGPP} \entry{MK{\_}FP macro, porting to DJGPP}{138}{MK_FP macro, porting to DJGPP} \entry{FP{\_}SEG and FP{\_}OFF, porting to DJGPP}{138}{FP_SEG and FP_OFF, porting to DJGPP} \entry{Segment and offset of a buffer}{139}{Segment and offset of a buffer} \entry{Pseudo-register variables, porting to DJGPP}{139}{Pseudo-register variables, porting to DJGPP} \entry{{\_}AX variable, porting to DJGPP}{139}{_AX variable, porting to DJGPP} \entry{{\_}BX variable, porting to DJGPP}{139}{_BX variable, porting to DJGPP} \entry{{\_}CX variable, porting to DJGPP}{139}{_CX variable, porting to DJGPP} \entry{{\_}DX variable, porting to DJGPP}{139}{_DX variable, porting to DJGPP} \entry{{\_}BP variable, porting to DJGPP}{139}{_BP variable, porting to DJGPP} \entry{{\_}SI variable, porting to DJGPP}{139}{_SI variable, porting to DJGPP} \entry{{\_}DI variable, porting to DJGPP}{139}{_DI variable, porting to DJGPP} \entry{{\_}ES variable, porting to DJGPP}{139}{_ES variable, porting to DJGPP} \entry{{\_}DS variable, porting to DJGPP}{139}{_DS variable, porting to DJGPP} \entry{Low-level programming issues}{141}{Low-level programming issues} \entry{Systems programming issues}{141}{Systems programming issues} \entry{Hardware-oriented programming}{141}{Hardware-oriented programming} \entry{Unsupported INT message}{141}{Unsupported INT message} \entry{Unsupported DOS request message}{141}{Unsupported DOS request message} \entry{int86 crashes program}{141}{int86 crashes program} \entry{intdos crashes program}{141}{intdos crashes program} \entry{Program crashes in int86/intdos}{141}{Program crashes in int86/intdos} \entry{DOS service calls}{141}{DOS service calls} \entry{BIOS service calls}{141}{BIOS service calls} \entry{{\_}{\_}dpmi{\_}int, calling DOS/BIOS services}{141}{__dpmi_int, calling DOS/BIOS services} \entry{int86/intdos, garbled results in registers}{141}{int86/intdos, garbled results in registers} \entry{int86/intdos, registers' width}{141}{int86/intdos, registers' width} \entry{Mouse interface, problems with int86}{141}{Mouse interface, problems with int86} \entry{int86, problems with mouse interface}{141}{int86, problems with mouse interface} \entry{DOS service calls which need buffers}{141}{DOS service calls which need buffers} \entry{BIOS service calls which need buffers}{141}{BIOS service calls which need buffers} \entry{{\_}{\_}dpmi{\_}int, how to pass buffers}{141}{__dpmi_int, how to pass buffers} \entry{Transfer buffer, using to call DOS/BIOS}{141}{Transfer buffer, using to call DOS/BIOS} \entry{{\_}{\_}tb, an alias for the address of transfer buffer}{141}{__tb, an alias for the address of transfer buffer} \entry{Allocating DOS memory}{142}{Allocating DOS memory} \entry{Freeing DOS memory}{142}{Freeing DOS memory} \entry{DOS memory, allocating and freeing}{142}{DOS memory, allocating and freeing} \entry{Child programs, {\_}{\_}dpmi{\_}allocate{\_}dos{\_}memory decreases DOS memory}{142}{Child programs, __dpmi_allocate_dos_memory decreases DOS memory} \entry{segread function, how to port to DJGPP}{143}{segread function, how to port to DJGPP} \entry{int86x/intdosx, how to pass a buffer}{143}{int86x/intdosx, how to pass a buffer} \entry{Software interrupts, need zero SS, SP and FLAGS}{143}{Software interrupts, need zero SS, SP and FLAGS} \entry{{\_}{\_}dpmi{\_}simulate{\_}real{\_}mode{\_}procedure{\_}retf, need zero SS, SP and FLAGS}{143}{__dpmi_simulate_real_mode_procedure_retf, need zero SS, SP and FLAGS} \entry{{\_}{\_}dpmi{\_}simulate{\_}real{\_}mode{\_}procedure{\_}iret, need zero SS, SP and FLAGS}{143}{__dpmi_simulate_real_mode_procedure_iret, need zero SS, SP and FLAGS} \entry{Transfer buffer, moving data}{144}{Transfer buffer, moving data} \entry{Accessing absolute addresses in conventional memory}{144}{Accessing absolute addresses in conventional memory} \entry{Accessing absolute addresses with dedicated selector}{144}{Accessing absolute addresses with dedicated selector} \entry{Moving data to and from transfer buffer}{144}{Moving data to and from transfer buffer} \entry{Moving data to and from conventional memory}{144}{Moving data to and from conventional memory} \entry{Conventional memory, moving data to/from}{144}{Conventional memory, moving data to/from} \entry{Memory-mapped devices, moving data to/from}{144}{Memory-mapped devices, moving data to/from} \entry{Memory-mapped devices, accessing with dedicated selector}{144}{Memory-mapped devices, accessing with dedicated selector} \entry{Peripherals, moving data to/from}{144}{Peripherals, moving data to/from} \entry{Peek/poke absolute address}{144}{Peek/poke absolute address} \entry{nearptr method of direct memory access}{144}{nearptr method of direct memory access} \entry{{\_}dos{\_}ds, a selector to access conventional memory}{144}{_dos_ds, a selector to access conventional memory} \entry{Struct declaration, for real-mode services}{147}{Struct declaration, for real-mode services} \entry{VBE services, struct declaration}{147}{VBE services, struct declaration} \entry{Real-mode functions, how to call}{147}{Real-mode functions, how to call} \entry{Calling real-mode functions}{147}{Calling real-mode functions} \entry{Peripheral devices, fast access}{148}{Peripheral devices, fast access} \entry{Memory-mapped devices, fast access}{148}{Memory-mapped devices, fast access} \entry{sbrk, effect on ``Fat DS''}{148}{sbrk, effect on ``Fat DS''} \entry{Nearptr functions}{148}{Nearptr functions} \entry{malloc, effect on ``Fat DS''}{148}{malloc, effect on ``Fat DS''} \entry{calloc, effect on ``Fat DS''}{148}{calloc, effect on ``Fat DS''} \entry{realloc, effect on ``Fat DS''}{148}{realloc, effect on ``Fat DS''} \entry{Peripheral devices above 1MB}{150}{Peripheral devices above 1MB} \entry{Memory-mapped devices above 1MB}{150}{Memory-mapped devices above 1MB} \entry{Accessing absolute addresses above 1MB}{150}{Accessing absolute addresses above 1MB} \entry{Mapping memory below 1MB mark}{151}{Mapping memory below 1MB mark} \entry{Physical address mapping, below 1MB mark}{151}{Physical address mapping, below 1MB mark} \entry{DOS memory, mapping into address space}{151}{DOS memory, mapping into address space} \entry{Real-mode call-back}{151}{Real-mode call-back} \entry{Real-mode services, calling DJGPP functions}{151}{Real-mode services, calling DJGPP functions} \entry{Mouse handler, how to install with DJGPP}{151}{Mouse handler, how to install with DJGPP} \entry{Callbacks, class member function}{152}{Callbacks, class member function} \entry{Real-mode callbacks written in C{\tt\char 43}{\tt\char 43}}{152}{Real-mode callbacks written in C\t {++}} \entry{Class member functions, as real-mode callbacks}{152}{Class member functions, as real-mode callbacks} \entry{Hardware interrupts, hooking}{152}{Hardware interrupts, hooking} \entry{Interrupts handlers in DJGPP}{152}{Interrupts handlers in DJGPP} \entry{Interrupt reflection}{152}{Interrupt reflection} \entry{{\_}{\_}dpmi{\_}get{\_}real{\_}mode{\_}interrupt{\_}vector}{152}{__dpmi_get_real_mode_interrupt_vector} \entry{{\_}{\_}dpmi{\_}get{\_}protected{\_}mode{\_}interrupt{\_}vector}{152}{__dpmi_get_protected_mode_interrupt_vector} \entry{{\_}go32{\_}dpmi{\_}allocate{\_}iret{\_}wrapper}{152}{_go32_dpmi_allocate_iret_wrapper} \entry{{\_}go32{\_}dpmi{\_}chain{\_}protected{\_}mode{\_}interrupt{\_}vector}{152}{_go32_dpmi_chain_protected_mode_interrupt_vector} \entry{Real-mode interrupt vector}{152}{Real-mode interrupt vector} \entry{Protected-mode interrupt vector}{152}{Protected-mode interrupt vector} \entry{Chaining interrupt}{152}{Chaining interrupt} \entry{Interrupt chaining}{152}{Interrupt chaining} \entry{Locking memory for hardware interrupt handlers}{152}{Locking memory for hardware interrupt handlers} \entry{Memory locking for hardware interrupt handlers}{152}{Memory locking for hardware interrupt handlers} \entry{Virtual memory, disabling with startup flags}{152}{Virtual memory, disabling with startup flags} \entry{Paging, how to disable}{152}{Paging, how to disable} \entry{{\_}CRT0{\_}FLAG{\_}LOCK{\_}MEMORY, how to use}{153}{_CRT0_FLAG_LOCK_MEMORY, how to use} \entry{interrupt keyword, DJGPP replacement}{153}{\code {interrupt} keyword, DJGPP replacement} \entry{{\_}interrupt keyword, DJGPP replacement}{153}{\code {_interrupt} keyword, DJGPP replacement} \entry{Locking C{\tt\char 43}{\tt\char 43} functions}{154}{Locking C\t {++} functions} \entry{Interrupt handler, class member function}{154}{Interrupt handler, class member function} \entry{Class member functions, as interrupt handlers}{154}{Class member functions, as interrupt handlers} \entry{Locking memory, silent failure}{154}{Locking memory, silent failure} \entry{Memory locking, silent failure}{154}{Memory locking, silent failure} \entry{{\_}CRT0{\_}FLAG{\_}LOCK{\_}MEMORY, silent failure}{154}{_CRT0_FLAG_LOCK_MEMORY, silent failure} \entry{Locking DOS memory}{154}{Locking DOS memory} \entry{Conventional memory, locking}{154}{Conventional memory, locking} \entry{Locking only part of memory}{155}{Locking only part of memory} \entry{Interrupt handlers, on Windows 9X}{155}{Interrupt handlers, on Windows 9X} \entry{Interrupts 1Ch, 23h, 24h}{155}{Interrupts 1Ch, 23h, 24h} \entry{{\_}go32{\_}XXX vs {\_}{\_}dpmi{\_}YYY, which one to use}{156}{_go32_XXX vs __dpmi_YYY, which one to use} \entry{{\_}{\_}dpmi{\_}YYY vs {\_}go32{\_}XXX, which one to use}{156}{__dpmi_YYY vs _go32_XXX, which one to use} \entry{Hardware interrupts, subtleties}{156}{Hardware interrupts, subtleties} \entry{Hardware interrupt handler crashes}{156}{Hardware interrupt handler crashes} \entry{Interrupt frequency, maximum}{156}{Interrupt frequency, maximum} \entry{Maximum interrupt frequency}{156}{Maximum interrupt frequency} \entry{Interrupt handlers, locking memory}{156}{Interrupt handlers, locking memory} \entry{Locking memory for interrupt handlers}{156}{Locking memory for interrupt handlers} \entry{Unix-like sbrk algorithm considered harmful for HW interrupts}{156}{Unix-like sbrk algorithm considered harmful for HW interrupts} \entry{Keystrokes don't get to keyboard handler}{156}{Keystrokes don't get to keyboard handler} \entry{Overhead, interrupt reflection to protected mode}{156}{Overhead, interrupt reflection to protected mode} \entry{Interrupt reflection overhead}{156}{Interrupt reflection overhead} \entry{{\_}crt0{\_}startup{\_}flags, setting to lock memory}{156}{_crt0_startup_flags, setting to lock memory} \entry{{\_}crt0{\_}startup{\_}flags, Unix sbrk is incompatible with HW interrupts}{156}{_crt0_startup_flags, Unix sbrk is incompatible with HW interrupts} \entry{sbrk, Unix-like algorithm is incompatible with HW interrupts}{156}{sbrk, Unix-like algorithm is incompatible with HW interrupts} \entry{Mouse callback crashes with Page Fault in RMCB}{157}{Mouse callback crashes with Page Fault in RMCB} \entry{Page Fault in RMCB message}{157}{Page Fault in RMCB message} \entry{Interrupt handler, speeding up}{157}{Interrupt handler, speeding up} \entry{High-frequency interrupts, writing handlers for}{157}{High-frequency interrupts, writing handlers for} \entry{Ctrl-Alt-Del, not passed by Windows 9X}{158}{Ctrl-Alt-Del, not passed by Windows 9X} \entry{Inline assembly, how to write}{158}{Inline assembly, how to write} \entry{Accessing C variables from inline assembly}{158}{Accessing C variables from inline assembly} \entry{DMA, using from DJGPP programs}{159}{DMA, using from DJGPP programs} \entry{VDS, not supported by CWSDPMI (yet)}{159}{VDS, not supported by CWSDPMI (yet)} \entry{VDS, not supported by Windows/NT}{159}{VDS, not supported by Windows/NT} \entry{Legal aspects of DJGPP programming}{161}{Legal aspects of DJGPP programming} \entry{Copyright issues}{161}{Copyright issues} \entry{GPL, effect on DJGPP}{161}{GPL, effect on DJGPP} \entry{LGPL, effect on DJGPP}{161}{LGPL, effect on DJGPP} \entry{GNU Copyleft, effect on DJGPP}{161}{GNU Copyleft, effect on DJGPP} \entry{Copyleft, effect on DJGPP}{161}{Copyleft, effect on DJGPP} \entry{Legal restrictions on DJGPP apps}{161}{Legal restrictions on DJGPP apps} \entry{DJGPP applications, legal restrictions}{161}{DJGPP applications, legal restrictions} \entry{Commercial programs, writing with DJGPP}{161}{Commercial programs, writing with DJGPP} \entry{C{\tt\char 43}{\tt\char 43} class libraries, legal restrictions}{161}{C\t {++} class libraries, legal restrictions} \entry{libgpp.a, legal restrictions}{161}{libgpp.a, legal restrictions} \entry{BSD copyright}{161}{BSD copyright} \entry{functions, under BSD copyright}{161}{functions, under BSD copyright} \entry{Legal terms for using DJGPP, precise definition}{162}{Legal terms for using DJGPP, precise definition} \entry{Legal restrictions, DJGPP utilities}{162}{Legal restrictions, DJGPP utilities} \entry{DJGPP utilities, legal restrictions}{162}{DJGPP utilities, legal restrictions} \entry{C library, legal restrictions}{162}{C library, legal restrictions} \entry{Getting more help}{165}{Getting more help} \entry{More help, how to get}{165}{More help, how to get} \entry{GNU News groups, don't post DJGPP problems}{165}{GNU News groups, don't post DJGPP problems} \entry{Posting problems, not to GNU News groups}{165}{Posting problems, not to GNU News groups} \entry{DJGPP mailing list, how to post}{165}{DJGPP mailing list, how to post} \entry{Posting to DJGPP mailing list}{165}{Posting to DJGPP mailing list} \entry{DJGPP mailing list, how to subscribe}{165}{DJGPP mailing list, how to subscribe} \entry{Subscription to DJGPP mailing list}{165}{Subscription to DJGPP mailing list} \entry{Announcements, mailing list}{165}{Announcements, mailing list} \entry{DJGPP-ANNOUNCE mailing list}{165}{DJGPP-ANNOUNCE mailing list} \entry{DJGPP mailing list, in digest form}{165}{DJGPP mailing list, in digest form} \entry{Weekly digest, problems in receiving}{165}{Weekly digest, problems in receiving} \entry{DJGPP mailing list, how to unsubscribe}{166}{DJGPP mailing list, how to unsubscribe} \entry{Unsubscribing from the DJGPP mailing list}{166}{Unsubscribing from the DJGPP mailing list} \entry{Read DJGPP traffic via WWW}{166}{Read DJGPP traffic via WWW} \entry{DJGPP mailing list/news group, read via WWW}{166}{DJGPP mailing list/news group, read via WWW} \entry{Posting to DJGPP news group, what language}{167}{Posting to DJGPP news group, what language} \entry{Language of messaged posted to DJGPP news group}{167}{Language of messaged posted to DJGPP news group} \entry{Languages, foreign, translating}{167}{Languages, foreign, translating} \entry{Translation from/to foreign languages}{167}{Translation from/to foreign languages} \entry{V2, new features and bug fixes}{169}{V2, new features and bug fixes} \entry{New features in v2}{169}{New features in v2} \entry{V2.x, new environment}{169}{V2.x, new environment} \entry{Run-time environment in v2.x}{169}{Run-time environment in v2.x} \entry{DPMI hosts, commercially available}{169}{DPMI hosts, commercially available} \entry{DJGPP v2.x, alternative DPMI hosts}{169}{DJGPP v2.x, alternative DPMI hosts} \entry{Release schedule, how to influence}{170}{Release schedule, how to influence} \entry{Bugfixes, how to ensure they are done}{170}{Bugfixes, how to ensure they are done} \entry{Development of DJGPP, how to contribute}{170}{Development of DJGPP, how to contribute} \entry{DJGPP release schedule}{170}{DJGPP release schedule} \entry{C Library, the latest release}{171}{C Library, the latest release} \entry{Library, updated, where to get}{171}{Library, updated, where to get} \entry{Patched libc, where to find}{171}{Patched libc, where to find} \entry{libc for DJGPP, patched version}{171}{libc for DJGPP, patched version} \entry{DJGPP development sources, how to get}{171}{DJGPP development sources, how to get} \entry{CVS access to latest DJGPP library sources}{171}{CVS access to latest DJGPP library sources} \entry{Source file in the wrong directory, RHIDE}{173}{Source file in the wrong directory, RHIDE} \entry{Display problems with RHIDE}{173}{Display problems with RHIDE} \entry{Unzipping and running g{\tt\char 43}{\tt\char 43}.exe produces an error message}{174}{Unzipping and running g++.exe produces an error message} \entry{Duplicate versions of gxx.exe and cxxfilt.exe}{174}{Duplicate versions of gxx.exe and cxxfilt.exe} \entry{Changing GNU/DJGPP programs}{174}{Changing GNU/DJGPP programs} \entry{GNU packages, how to change}{174}{GNU packages, how to change} \entry{Recompiling GCC}{174}{Recompiling GCC} \entry{Known bugs in DJGPP, how to browse}{174}{Known bugs in DJGPP, how to browse} \entry{Bugs, how to browse a list of known DJGPP problems}{174}{Bugs, how to browse a list of known DJGPP problems} \entry{Bug report, how to submit}{174}{Bug report, how to submit} \entry{Patches for DJGPP, how to submit}{174}{Patches for DJGPP, how to submit} \entry{Bug-tracking system for DJGPP}{175}{Bug-tracking system for DJGPP} \entry{DJGPP, sample code}{176}{DJGPP, sample code} \entry{Packages, ported to DJGPP}{176}{Packages, ported to DJGPP} \entry{Sound Blaster code for DJGPP}{176}{Sound Blaster code for DJGPP} \entry{Timer interrupts code for DJGPP}{176}{Timer interrupts code for DJGPP} \entry{TCP/IP libraries for DJGPP}{176}{TCP/IP libraries for DJGPP} \entry{GUI libraries for DJGPP}{176}{GUI libraries for DJGPP} \entry{X emulation for DJGPP}{176}{X emulation for DJGPP} \entry{GNU development utilities, port to DJGPP}{176}{GNU development utilities, port to DJGPP} \entry{Turbo Vision, DJGPP port}{176}{Turbo Vision, DJGPP port} \entry{Game programming, libraries and techniques for DJGPP}{176}{Game programming, libraries and techniques for DJGPP} \entry{VGA Mode-X graphics for DJGPP}{176}{VGA Mode-X graphics for DJGPP} \entry{RCS port to DJGPP}{176}{RCS port to DJGPP} \entry{Development environments for DJGPP}{176}{Development environments for DJGPP} \entry{Dynamically loaded code for DJGPP}{176}{Dynamically loaded code for DJGPP} \entry{Multitasking packages for DJGPP}{176}{Multitasking packages for DJGPP} \entry{Asynchronous communications packages for DJGPP}{176}{Asynchronous communications packages for DJGPP} \entry{Network interface libraries for DJGPP}{176}{Network interface libraries for DJGPP} \entry{Winsock interface for DJGPP}{176}{Winsock interface for DJGPP} \entry{NetBIOS interface for DJGPP}{176}{NetBIOS interface for DJGPP} \entry{Interrupt handling, samples and packages}{177}{Interrupt handling, samples and packages} \entry{System hardware diagnostics}{177}{System hardware diagnostics} \entry{IPX network library}{178}{IPX network library} \entry{Pascal to C translator}{179}{Pascal to C translator} \entry{multiple-precision library}{179}{multiple-precision library} \entry{DirectX programming}{180}{DirectX programming} \entry{OpenGL programming}{180}{OpenGL programming} \entry{Mesa programming}{180}{Mesa programming} \entry{DirectX for DJGPP and RSXNTDJ}{180}{DirectX for DJGPP and RSXNTDJ} \entry{VBE/AF driver for DJGPP}{180}{VBE/AF driver for DJGPP} \entry{X-Mode package}{181}{X-Mode package} \entry{COFF boot loader}{181}{COFF boot loader} \entry{Memory allocations, debugging packages}{181}{Memory allocations, debugging packages} \entry{malloc, debugging}{181}{malloc, debugging} \entry{Lint clone for DJGPP}{181}{Lint clone for DJGPP} \entry{Scripting engine for DJGPP}{182}{Scripting engine for DJGPP} \entry{Farptr str* and mem* functions for DJGPP}{182}{Farptr str* and mem* functions for DJGPP} \entry{Interface with Windows, library of functions}{182}{Interface with Windows, library of functions} \entry{Mailslot API for DJGPP}{182}{Mailslot API for DJGPP} \entry{IPC facility for DJGPP}{182}{IPC facility for DJGPP} \entry{Symbolic links, simulation with DJGPP}{182}{Symbolic links, simulation with DJGPP} \entry{Links, symbolic, simulation with DJGPP}{182}{Links, symbolic, simulation with DJGPP} \entry{DPMI, what it is}{183}{DPMI, what it is} \entry{DPMI spec, where to get it}{183}{DPMI spec, where to get it} \entry{Ralf Brown's Interrupt List}{183}{Ralf Brown's Interrupt List} \entry{Interrupt List, by Ralf Brown}{183}{Interrupt List, by Ralf Brown} \entry{Web site for DJGPP}{184}{Web site for DJGPP} \entry{WWW services for DJGPP}{184}{WWW services for DJGPP} \entry{DJGPP, history of the project}{184}{DJGPP, history of the project} \entry{History of DJGPP}{184}{History of DJGPP} \entry{DJGPP software, where to upload}{184}{DJGPP software, where to upload} \entry{Uploading DJGPP software}{184}{Uploading DJGPP software} \entry{Binary attachments, do not post}{184}{Binary attachments, do not post} \entry{DJGPP as cross-compiler}{185}{DJGPP as cross-compiler} \entry{Cross-compiling with DJGPP}{185}{Cross-compiling with DJGPP} \entry{68K targets, cross-compiling with DJGPP}{185}{68K targets, cross-compiling with DJGPP} \entry{Motorola 68K targets, cross-compiling with DJGPP}{185}{Motorola 68K targets, cross-compiling with DJGPP} \entry{Linux-to-DOS cross-compiling with DJGPP}{185}{Linux-to-DOS cross-compiling with DJGPP} \entry{Unix-to-DOS cross-compiling with DJGPP}{185}{Unix-to-DOS cross-compiling with DJGPP} \entry{build.cross script}{186}{\file {build.cross} script} \entry{Script for building GCC as Linux-to-DOS cross-compiler}{186}{Script for building GCC as Linux-to-DOS cross-compiler} \entry{Garbage at end of number, GCC message}{186}{Garbage at end of number, GCC message} \entry{Size of a struct under DJGPP}{187}{Size of a struct under DJGPP} \entry{Struct, size in bytes under DJGPP}{187}{Struct, size in bytes under DJGPP} \entry{Structure padding}{187}{Structure padding} \entry{Packing the structs}{187}{Packing the structs} \entry{Reading structs from disk files}{187}{Reading structs from disk files} \entry{Reading an int from a binary file}{187}{Reading an int from a binary file} \entry{struct reading from a disk file}{187}{struct reading from a disk file} \entry{sizeof, result when called on a structure}{187}{sizeof, result when called on a structure} \entry{-fpack-struct, GCC option}{187}{-fpack-struct, GCC option} \entry{Structure packing, C{\tt\char 43}{\tt\char 43} bug}{188}{Structure packing, C\t {++} bug} \entry{Packed structs, C{\tt\char 43}{\tt\char 43} bug}{188}{Packed structs, C\t {++} bug} \entry{C{\tt\char 43}{\tt\char 43} programs, problems with packed structs}{188}{C\t {++} programs, problems with packed structs} \entry{Interrupt 24h handling}{189}{Interrupt 24h handling} \entry{Int 24h crashes DJGPP programs}{189}{Int 24h crashes DJGPP programs} \entry{harderr function, emulating under DJGPP}{189}{harderr function, emulating under DJGPP} \entry{Critical error handling in DJGPP}{189}{Critical error handling in DJGPP} \entry{Program crashes because of Int 24h}{189}{Program crashes because of Int 24h} \entry{Program crashes accessing empty floppy/CD-ROM drives}{189}{Program crashes accessing empty floppy/CD-ROM drives} \entry{Invoking v2 programs from v1.x programs}{189}{Invoking v2 programs from v1.x programs} \entry{Spawning v2 programs from v1.x programs}{189}{Spawning v2 programs from v1.x programs} \entry{DXE description}{190}{DXE description} \entry{DXE docs and examples}{190}{DXE docs and examples} \entry{Undefined references, in a DXE}{190}{Undefined references, in a DXE} \entry{DXE, undefined references}{190}{DXE, undefined references} \entry{LFN problems, in DJGPP v2.0}{191}{LFN problems, in DJGPP v2.0} \entry{long filename support, bugs in DJGPP v2.0}{191}{long filename support, bugs in DJGPP v2.0} \entry{Missing separator, Make error message}{191}{Missing separator, Make error message} \entry{Makefile, first character of every command must be TAB}{191}{Makefile, first character of every command must be TAB} \entry{TAB, must be the first character of every command}{191}{TAB, must be the first character of every command} \entry{TABs replaced with spaces by a text editor}{191}{TABs replaced with spaces by a text editor} \entry{Converting spaces to TABs in Makefiles}{191}{Converting spaces to TABs in Makefiles} \entry{Makefile, converting spaces to TABs}{191}{Makefile, converting spaces to TABs} \entry{Modification time in the future, message from Make}{192}{Modification time in the future, message from Make} \entry{Installation, dual, DOS/Windows}{192}{Installation, dual, DOS/Windows} \entry{Numeric tails, turning off}{192}{Numeric tails, turning off} \entry{Numeric tails, created by PKUNZIP v2.50}{192}{Numeric tails, created by PKUNZIP v2.50} \entry{NameNumericTail}{192}{NameNumericTail} \entry{Registry, changing from a file}{193}{Registry, changing from a file} \entry{Zoneinfo directory}{194}{Zoneinfo directory} \entry{TZ variable, how to set}{194}{TZ variable, how to set} \entry{TZ database updates, where to get}{194}{TZ database updates, where to get} \entry{DEV directory, problems with DJGPP programs}{195}{DEV directory, problems with DJGPP programs} \entry{ELF, switching DJGPP to}{195}{ELF, switching DJGPP to} \entry{COFF, why is DJGPP using it}{195}{COFF, why is DJGPP using it} \entry{ELF32, Binutils configured for}{196}{ELF32, Binutils configured for} \entry{Random numbers, how to produce}{196}{Random numbers, how to produce} \entry{Seed for random numbers}{196}{Seed for random numbers} \entry{Pseudo-random numbers}{196}{Pseudo-random numbers} \entry{rand and random functions, comparison}{196}{\code {rand} and \code {random} functions, comparison} \entry{Random numbers from an interval}{197}{Random numbers from an interval} \entry{Lexicon for DJGPP documentation}{197}{Lexicon for DJGPP documentation} \entry{Jargon, used by DJGPP documentation}{197}{Jargon, used by DJGPP documentation} \entry{Terminology in DJGPP}{197}{Terminology in DJGPP} \entry{void main, in a C/C{\tt\char 43}{\tt\char 43} program}{198}{void main, in a C/C++ program} \entry{C{\tt\char 43}{\tt\char 43} programs, automatically return 0}{198}{C++ programs, automatically return 0} \entry{Return value of main in C{\tt\char 43}{\tt\char 43} programs}{198}{Return value of \code {main} in C\t {++} programs} \entry{Rebooting the PC, from a program}{198}{Rebooting the PC, from a program} \entry{sleeping, for short periods of time}{199}{sleeping, for short periods of time} \entry{delaying program's execution}{199}{delaying program's execution} \entry{granularity, in time-related functions}{199}{granularity, in time-related functions} \entry{CGI programs}{199}{CGI programs} \entry{EOF from stdin, immediate exit}{200}{EOF from stdin, immediate exit} \entry{Exit due to EOF from stdin}{200}{Exit due to EOF from stdin} \entry{FAQ, conversion to different formats}{200}{FAQ, conversion to different formats} \entry{Conversion of the FAQ to different formats}{200}{Conversion of the FAQ to different formats}