C ++ compiler command list Summary

Source: Internet
Author: User

The C ++ programming language can easily implement many functional requirements through the use of compilers. Here we will give a detailed introduction to various C ++ compiler commands to help you quickly and easily master the compiler application skills.

  • Examples of various C ++ inheritance Methods
  • Analysis of the actual operation method of the C ++ Operator Overloading
  • How to Implement C ++ Polymorphism
  • C ++ static member initialization FAQs
  • Basic concepts of C ++ type conversion

Today, I am going to be mad at by the VC6.0 compiler. According to my own coding speed, today, because we should basically compile the driver communication module, but I didn't think of it, VC6.0 does not support the latest driver framework (WDK). I have searched for information on the Internet for one afternoon and have no quick solution, there is no way to use the most primitive and most stupid method-write an ieWraper to package the wdk api to be called, compile it into a DLL in the WDK environment, and then call the DLL.

Many of the C ++ compiler commands except a few simple commands are unfamiliar, and then check Cl help (cl /?), However, it is inconvenient to see the console. So I went to MSDN to check whether there was any help that was easy to see, but these Command help was scattered and I felt uncomfortable looking at it, I checked it on google and didn't have full Command help. I decided to write the command-line console command to the Blog. 1. It was to familiarize myself with the command line, 2. It was to make it easier for you to see it later :).

I used the WDK compiler version: 14.00.50727.22.

C/C ++ COMPILER OPTIONS

 
 
  1. usage:cl[option...] filename... [/link linkoption] 

-- OPTIMIZATION of C ++ compiler commands --

 
 
  1. /O1 minimize space /O2 maximize speed  
  2. /Ob< n> inline expansion (defalut n=0) 
    /Od disable opimization(default)   
  3. /Og enable global optimization 
    /Oi[-]enable intrinsic functions  
  4. /Os favor code sapce /Ot favor code speed  
  5. /Ox maximum optmations /Oy[-] enable frame pointer omission 

-- Code generation of C ++ compiler commands --

 

 
 
  1. /GF enable read-only string pooling /Gm[-]enable minimal rebuild  
  2. /Gy[-] separate functions for linker /GS[-]enable security checks  
  3. /GR[-]enable C++ RTTI /GX[-]enalbe C++ EH(same as /EHsc)  
  4. /EHs enable C++ EH(no SEH exceptions) 
    /EHa enable C++ EH(w/SEH exceptions)  
  5. /fp:< except[-]|fast|precise|strict> choose floating-point model:  
  6. except[-]-consider floating-point exceptions when generating code   
  7. fast-"fast" floating-point model;results are less predictable  
  8. precise-"precise" floating-point model;result are predictable  
  9. strict-"strict" floating-point model(implies/fp:except)  
  10. /GL[-] enable link-time code generation 
    /GA optimize for windows application  
  11. /Ge force stack check for all funcs 
    /Gs[num] control stack checkings calls  
  12. /Gh enable _penter function call /GH enable _pexit function call  
  13. /GT generate filber-safe TLS accesses 
    /RTC1 Enable fast checks(/RTCsu)  
  14. /RTCc convert to small type checks /RTCs stack Frame runtime checking  
  15. /RTCu uninitialized local usage checks  
  16. /clr[:opt] compile for common language runtime,where option is:  
  17. pure - produce IL-only output file(no native executable code)  
  18. safe - prdouce IL-only verifiable output file  
  19. oldsyntax - accept the Managed Extensions syntax 
    from Visual C++ 2000/2003   
  20. initialAppDomain - enable inital AppDomain behavior of Visual C++ 2002  
  21. noAssembly - do not produce an assembly  
  22. /Gd __cdecl calling convertion /Gr __fastcall calling convertion  
  23. /Gz __stdcall calling convertion /GZ Enable stack checks(RTCs)  
  24. /Qifist[-] use FIST instead of ftol()  
  25. /hotpatch ensure function padding for htpatchable images  
  26. /arch:< SSE|SE2> minimum CPU architecture requirements,one of:  
  27. SSE - enable use of instructions available with SSE enabled CPUS  
  28. SSE2 - enable use off instructions available with SSE2 enabled CPUS  
  29. -OUTPUT FILES-  
  30. /Fa[file] name assembly listing file /FA[scu] configure assembly listing  
  31. /Fd[file] name .PDB file /Fe< file> name executable file  
  32. /Fm[file] name map file /Fo< file> name object file  
  33. /Fp< file> name precompiled header file /Fr[file] name source browser file  
  34. /FR[file] name extended .SBR file  
  35. /doc[file] process XML documentation comments 
    and optionally name the .xdc file 

-- PREPROCESSOR of C ++ compiler commands --

 
 
  1. /AI< dir> add to assembly search path 
    /FU< file> forced using assembly/model  
  2. /C don't strip coments /D< name>{=|#}< ext> define macro  
  3. /E preprocess to stdout /EP preprocess to stdout,no#line  
  4. /P precprocess to file /Fx merge injected code to file  
  5. /FI< file> name forced include file /U< name> remove predefined macor  
  6. /u remove all predefined macors /I< dir> add to include search pth  
  7. /X ignore "standard places" 

-- LANGUAGE of C ++ compiler commands --

 
 
  1. /Zi enable debugging information /Z7 enable old-style debug info  
  2. /Zp[n] pack structs on n-byte boundary /Za disable extensions  
  3. /Ze enable extenstions(defalut) /Zl omit default library name in .OBJ  
  4. /Zg generate function prototypes /Zs syntax check only  
  5. /vd{0|1|2} disable/enable vtordisp /vm< x> type of pointers to members  
  6. /Zc:arg1[,arg2] C++ lanuage confomance,where arguments can be:  
  7. forScope[-] - enforce Stand C++ for scoping rules  
  8. wchar_t[-] - wchar_t is the native type,not a typedef  
  9. /ZI enable Edit and Continue debug info  
  10. /openmp enable OpenMP 2.0 language extensions 

-- MISCELLANEOUS of C ++ compiler commands --

 
 
  1. @< FILE> Options response file /?,/help print this help message  
  2. /bigobj generate extended object format /c compile only,no link  
  3. /errorReport:option Report internal compiler errors to Microsoft  
  4. none - do not send report  
  5. prompt - prompt to immediately send report  
  6. queue - at next admin logon ,prompt to send report (default)  
  7. send - send report automatically  
  8. /FC use fall pathnames in diagnostcs /H< num> max external name lenght  
  9. /J default char type is unsigned /nologo suppress copyright message  
  10. /showInclude show include file names /TC compile all files as .c  
  11. /Tp< source file> compile file as .cpp /TC compile all file as .c  
  12. /TP compile all files as .cpp /V< string> set version string  
  13. /w disable all warnings /wd< n> disable warning n  
  14. /we< n> treat warning n as an error /wo< n> issue warning n once  
  15. /w< l>< n> set warning level 1-4 for n /W< n> 
    set warning level(defalut n =1)  
  16. /Wall enable all warnings /WL enable one line diagnostics  
  17. /WX treat warning as errors /Yc[file] create .PCH file  
  18. /Yd put debug info in every .OBJ /Yl[sym] inject .PCH ref for debug lib  
  19. /Yu[file] use .PCH file /Y- disable all PCH options  
  20. /Zm< n> max memory alloc(% of defalut) /Wp64 enable 64 bit porting warnings 

-- LINKING of C ++ compiler commands --

 
 
  1. /LD Create .DLL /LDd Create .Dll debug library  
  2. /LN Create a .netmodule /F[num] set stack size  
  3. /link [linker options and libraries] /MD link with MSVCRT.LIB  
  4. /MT link with LIBCMT.LIB /MDd link with MSVCRTD.LIB deubg lib  
  5. /MTd link with LIBCMTD.LIB debug lib 

The above is a summary of the C ++ compiler commands.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.