Portable software development is writing software that runs on a broad range of computer systems instead of just one (e.g., Windows). Programmers often pick up the idioms, tricks and methodologies for developing cross-platform software through sheer trial and error, as they encounter the same mistakes and patterns of code over time. If you're an intermediate-to advanced-level programmer who'd rather cut to the chase, Write Portable Code contains the lessons, patterns and knowledge you'll need for developing cross-platform software. Write Portable Code explains how to: avoid common portability mistakes when starting out a new project, thereby saving time when a port must occur re-factor existing, non-portable code so that it can be easily transplanted to new platforms find bugs masked by platform specific behaviors Programmers who avoid becoming married to a specific development environment or target platform greatly expand the target market for their software products. Whether you design cross-platform software from the ground up or have to move large amounts of code from one platform to another, the information contained in Write Portable Code will help you achieve your goals and grow as a programmer. TOC Preface Introduction Chapter 1: Preparing for Portability Chapter 2: ANSI C/C++ Chapter 3: Techniques for Portability Chapter 4: Editing and Source Control Chapter 5: Processor Differences Chapter 6: Floating Point Chapter 7: Preprocessor Chapter 8: Compiler Quirks Chapter 9: User Interaction Chapter 10: Networking Chapter 11: Operating Systems Chapter 12: Dynamic Libraries Chapter 13: Security and Permissions Chapter 14: File Systems Chapter 15: Scalability and Portability Chapter 16: Portability and Data Chapter 17: Internationalization and Localization Chapter 18: Scripting Languages Chapter 19: Cross-platform Libraries and Toolkits Appendix A: POSH Appendix B: The Simple Audio Library Appendix C: The Rules for Portability References