温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

C++编译器命令有哪些

发布时间:2021-11-11 16:54:23 来源:亿速云 阅读:133 作者:小新 栏目:编程语言

这篇文章给大家分享的是有关C++编译器命令有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

快要被VC6.0的编译器给搞疯了,按照自己的编码速度,今天因该把驱动通讯模块基本通过编译,但是没有想到的是,VC6.0不支持最支持***驱动框架(WDK),在网上找了一下午资料,都没有能快速的方法解决,没有办法只好用最原始最笨的方法了-写一个ieWraper把要调用的WDK API给包起来,然后再WDK的环境下编译成DLL,然后在调用DLL。

对于C++编译器命令除了几句简单的命令,很多都和陌生,然后查看Cl的帮助(cl/?),但是觉得这样看非常不方便,以后每次想看的时候有得去看控制台。于是便在MSDN上去看有没有看得方便点的帮助,但是这些命令帮助都是分散开的,也觉得看其来不爽,便在google上看了一下也没有很全的命令帮助。自己动手丰衣足食,于是决定把命令行的控制台命令,写到Blog上去,1.是为了熟悉一下,2.是为了以后看方便自己,也方便大家:).

我用的编译器是WDK上的编译器版本号是:14.00.50727.22。

C/C++ COMPILER OPTIONS

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

--C++编译器命令之OPTIMIZATION--

  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 

--C++编译器命令之CODE GENERATION--

  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 

--C++编译器命令之PREPROCESSOR--

  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" 

--C++编译器命令之LANGUAGE--

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

--C++编译器命令之MISCELLANEOUS--

  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 

--C++编译器命令之LINKING--

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

感谢各位的阅读!关于“C++编译器命令有哪些”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

c++
AI