Building C/C++ Programs Building C/C++ Isolated Applications and Side-by-side Assemblies Concepts of Isolated Applications and Side-by-side Assemblies Building C/C++ Isolated Applications Building C/C++ Side-by-side Assemblies How to: Build Registration-Free COM Components How to: Build Isolated Applications to Consume COM Components Understanding Manifest Generation for C/C++ Programs Manifest Generation in Visual Studio Manifest Generation at the Command Line How to: Embed a Manifest Inside a C/C++ Application Troubleshooting C/C++ Isolated Applications and Side-by-side Assemblies Configure Visual C++ for 64-bit, x64 targets How to: Configure Visual C++ Projects to Target 64-Bit, x64 Platforms How to: Enable a 64-Bit Visual C++ Toolset on the Command Line Common Visual C++ 64-bit Migration Issues x64 Software Conventions Overview of x64 Calling Conventions Types and Storage Scalar Types Aggregates and Unions Examples of Structure Alignment Bitfields Conflicts with the x86 Compiler Register Usage Calling Convention Parameter Passing Varargs Unprototyped Functions Return Values (C++) Caller-Callee Saved Registers Function Pointers Floating-Point Support for Older Code (Visual C++) FpCsr MxCsr setjmp-longjump Stack Usage Stack Allocation Dynamic Parameter Stack Area Construction Function Types malloc Alignment alloca Prolog and Epilog Exception Handling (x64) Unwind Data for Exception Handling, Debugger Support struct RUNTIME_FUNCTION struct UNWIND_INFO struct UNWIND_CODE Chained Unwind Info Structures Unwind Procedure Language Specific Handler Unwind Helpers for MASM Raw Pseudo Operations MASM Macros Unwind Data Definitions in C Intrinsics and Inline Assembly Image Format Configure Visual C++ for ARM processors Common Visual C++ ARM Migration Issues Overview of ARM ABI Conventions ARM Exception Handling DLLs in Visual C++ Walkthrough: Creating and Using a Dynamic Link Library (C++) Kinds of DLLs Non-MFC DLLs: Overview Regular MFC DLLs Statically Linked to MFC Regular MFC DLLs Dynamically Linked to MFC MFC extension DLLs: Overview MFC DLL Frequently Asked Questions Link an executable to a DLL DLLs and Visual C++ run-time library behavior LoadLibrary and AfxLoadLibrary GetProcAddress FreeLibrary and AfxFreeLibrary Search Path Used by Windows to Locate a DLL Module States of a Regular MFC DLL Dynamically Linked to MFC MFC extension DLLs Using Database, OLE, and Sockets MFC extension DLLs in regular MFC DLLs Creating a Resource-Only DLL Localized Resources in MFC Applications: Satellite DLLs Importing and Exporting Importing into an Application Importing into an Application Using __declspec(dllimport) Importing Function Calls Using __declspec(dllimport) Importing Data Using __declspec(dllimport) Importing Using DEF Files Exporting from a DLL Exporting from a DLL Using DEF Files Exporting from a DLL Using __declspec(dllexport) Exporting and Importing Using AFX_EXT_CLASS Exporting C++ Functions for Use in C-Language Executables Exporting C Functions for Use in C or C++ Language Executables Determining Which Exporting Method to Use Exporting Functions from a DLL by Ordinal Rather Than by Name Mutual Imports Importing and Exporting Inline Functions Active Technology and DLLs Automation in a DLL Naming Conventions for MFC DLLs Calling DLL Functions from Visual Basic Applications Compiler Intrinsics and Assembly Language Build C/C++ code on the command line Walkthrough: Compiling a Native C++ Program on the Command Line Walkthrough: Compile a C program on the command line Walkthrough: Compiling a C++/CLI Program on the Command Line Walkthrough: Compiling a C++/CX Program on the Command Line Set the Path and Environment Variables for Command-Line Builds NMAKE Reference Running NMAKE NMAKE Options Tools.ini and NMAKE Exit Codes from NMAKE Contents of a Makefile Wildcards and NMAKE Long Filenames in a Makefile Comments in a Makefile Special Characters in a Makefile Sample Makefile Description Blocks Targets Pseudotargets Multiple Targets Cumulative Dependencies Targets in Multiple Description Blocks Dependency Side Effects Dependents Inferred Dependents Search Paths for Dependents Commands in a Makefile Command Modifiers Filename-Parts Syntax Inline Files in a Makefile Specifying an Inline File Creating Inline File Text Reusing Inline Files Multiple Inline Files Macros and NMAKE Defining an NMAKE Macro Special Characters in Macros Null and Undefined Macros Where to Define Macros Precedence in Macro Definitions Using an NMAKE Macro Macro Substitution Special NMAKE Macros Filename Macros Recursion Macros Command Macros and Options Macros Environment-Variable Macros Inference Rules Defining a Rule Search Paths in Rules Batch-Mode Rules Predefined Rules Inferred Dependents and Rules Precedence in Inference Rules Dot Directives Makefile Preprocessing Makefile Preprocessing Directives Expressions in Makefile Preprocessing Makefile Preprocessing Operators Executing a Program in Preprocessing MSBuild (Visual C++) MSBuild (Visual C++) Overview Build System Changes Walkthrough: Using MSBuild to Create a Visual C++ Project How to: Use Build Events in MSBuild Projects How to: Add a Custom Build Step to MSBuild Projects How to: Add Custom Build Tools to MSBuild Projects How to: Integrate Custom Tools into the Project Properties How to: Modify the Target Framework and Platform Toolset Configuring Programs for Windows XP C/C++ Building Reference