C/C++ Compiler (cl.hlp) (Table of Contents; Topic list)
Important Notice
The pages on this site contain documentation for very old MS-DOS software, purely for historical purposes. If you're looking for up-to-date documentation, particularly for programming, you should not rely on the information found here, as it will be woefully out of date.
Customized Memory Model: Details
                                             Up Contents Index Back
─────C/C++ Compiler─────────────────────────────────────────────────────────
 
     Syntax:  /Axxx
 
     You can customize a memory model with this option. The <xxx> is a
     three-letter representation of the memory-model attributes:
 
        ■ Code pointer size
 
        ■ Data pointer size
 
        ■ Stack and data segment setup
 
     You must use all three letters (in any order) following /A.
 
     Standard         Customized
     Memory Model     Equivalent
 
     /AT              -----
     /AS              /Asnd
     /AM              /Alnd
     /AC              /Asfd
     /AL              /Alfd
     /AH              /Alhd
 
     Customized Code/Data Pointers
 
     /As   Near (16-bit) code pointers
     /Al   Far  (32-bit) code pointers
     /An   Near (16-bit) data pointers
     /Af   Far  (32-bit) data pointers
     /Ah   Huge (32-bit) data pointers
 
     Customized Segment Setup
 
     /Ad   Assumes SS==DS Default for standard memory models.
     /Au   Assumes SS!=DS. DS is reloaded on function entry.
     /Aw   Assumes SS!=DS. DS is not reloaded on function entry.
           Primary use is for DLLs and Microsoft Windows call-back
           functions.
 
     NOTE: The easiest way to customize a memory model is to follow
           a standard memory model and modify the stack setup. For
           example, /ASw is the equivalent of /Asnw.
                                    -♦-