今天快要被VC6.0的编译器给搞疯了,按照自己的编码速度,今天因该把驱动通讯模块基本通过编译,但是没有想到的是,VC6.0不支持最支持最新驱动框架(WDK),在网上找了一下午资料,都没有能快速的方法解决,没有办法只好用最原始最笨的方法了-写一个ieWraper把要调用的WDK API给包起来,然后再WDK的环境下编译成DLL,然后在调用DLL。
对于C/C++编译命令除了几句简单的命令,很多都和陌生,然后查看Cl的帮助(cl/?),但是觉得这样看非常不方便,以后每次想看的时候有得去看控制台。于是便在MSDN上去看有没有看得方便点的帮助,但是这些命令帮助都是分散开的,也觉得看其来不爽,便在google上看了一下也没有很全的命令帮助。自己动手丰衣足食,于是决定把命令行的控制台命令,写到Blog上去,1.是为了熟悉一下,2.是为了以后看方便自己,也方便大家:).
我用的编译器是WDK上的编译器版本号是:14.00.50727.22。
C/C++ COMPILER OPTIONS
usage:cl[option...] filename... [/link linkoption]
-OPTIMIZATION-
/O1 minimize space /O2 maximize speed
/Ob<n> inline expansion (defalut n=0) /Od disable opimization(default)
/Og enable global optimization /Oi[-]enable intrinsic functions
/Os favor code sapce /Ot favor code speed
/Ox maximum optmations /Oy[-] enable frame pointer omission
-CODE GENERATION-
/GF enable read-only string pooling /Gm[-]enable minimal rebuild
/Gy[-] separate functions for linker /GS[-]enable security checks
/GR[-]enable C++ RTTI /GX[-]enalbe C++ EH(same as /EHsc)
/EHs enable C++ EH(no SEH exceptions) /EHa enable C++ EH(w/SEH exceptions)
/fp:<except[-]|fast|precise|strict> choose floating-point model:
except[-]-consider floating-point exceptions when generating code
fast-"fast" floating-point model;results are less predictable
precise-"precise" floating-point model;result are predictable
strict-"strict" floating-point model(implies/fp:except)
/GL[-] enable link-time code generation /GA optimize for windows application
/Ge force stack check for all funcs /Gs[num] control stack checkings calls
/Gh enable _penter function call /GH enable _pexit function call
/GT generate filber-safe TLS accesses /RTC1 Enable fast checks(/RTCsu)
/RTCc convert to small type checks /RTCs stack Frame runtime checking
/RTCu uninitialized local usage checks
/clr[:opt] compile for common language runtime,where option is:
pure - produce IL-only output file(no native executable code)
safe - prdouce IL-only verifiable output file
oldsyntax - accept the Managed Extensions syntax from Visual C++ 2000/2003
initialAppDomain - enable inital AppDomain behavior of Visual C++ 2002
noAssembly - do not produce an assembly
/Gd __cdecl calling convertion /Gr __fastcall calling convertion
/Gz __stdcall calling convertion /GZ Enable stack checks(RTCs)
/Qifist[-] use FIST instead of ftol()
/hotpatch ensure function padding for htpatchable images
/arch:<SSE|SE2> minimum CPU architecture requirements,one of:
SSE - enable use of instructions available with SSE enabled CPUS
SSE2 - enable use off instructions available with SSE2 enabled CPUS
-OUTPUT FILES-
/Fa[file] name assembly listing file /FA[scu] configure assembly listing
/Fd[file] name .PDB file /Fe<file> name executable file
/Fm[file] name map file /Fo<file> name object file
/Fp<file> name precompiled header file /Fr[file] name source browser file
/FR[file] name extended .SBR file
/doc[file] process XML documentation comments and optionally name the .xdc file
-PREPROCESSOR-
/AI<dir> add to assembly search path /FU<file> forced using assembly/model
/C don't strip coments /D<name>{=|#}<ext> define macro
/E preprocess to stdout /EP preprocess to stdout,no#line
/P precprocess to file /Fx merge injected code to file
/FI<file> name forced include file /U<name> remove predefined macor
/u remove all predefined macors /I<dir> add to include search pth
/X ignore "standard places"
-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
-MISCELLANEOUS-
@<FILE> Options response file /?,/help print this help message
/bigobj generate extended object format /c compile only,no link
/errorReport:option Report internal compiler errors to Microsoft
none - do not send report
prompt - prompt to immediately send report
queue - at next admin logon ,prompt to send report (default)
send - send report automatically
/FC use fall pathnames in diagnostcs /H<num> max external name lenght
/J default char type is unsigned /nologo suppress copyright message
/showInclude show include file names /TC compile all files as .c
/Tp<source file> compile file as .cpp /TC compile all file as .c
/TP compile all files as .cpp /V<string> set version string
/w disable all warnings /wd<n> disable warning n
/we<n> treat warning n as an error /wo<n> issue warning n once
/w<l><n> set warning level 1-4 for n /W<n> set warning level(defalut n =1)
/Wall enable all warnings /WL enable one line diagnostics
/WX treat warning as errors /Yc[file] create .PCH file
/Yd put debug info in every .OBJ /Yl[sym] inject .PCH ref for debug lib
/Yu[file] use .PCH file /Y- disable all PCH options
/Zm<n> max memory alloc(% of defalut) /Wp64 enable 64 bit porting warnings
--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
终于完成了,呵呵.:)
分享到:
相关推荐
为了在MATLAB中使用MEX功能,你需要一个兼容的C/C++编译器,如Microsoft Visual Studio或MinGW-w64。当系统中没有安装这些编译器时,`mex -setup`会失败。 TDM64-GCC(Tiny Distro MinGW-w64 for x86_64)是MinGW-w...
在使用Matlab进行C或C++编程时,有时需要编译和链接外部代码,这就需要一个合适的C/C++编译器。MinGW-w64是一个轻量级的、开源的Windows上的GCC(GNU Compiler Collection)移植版,它为32位和64位的Windows系统提供...
IBM XL C/C++ Enterprise Edition V8.0 for AIX是一款专为IBM AIX操作系统设计的高性能C/C++编译器。它不仅支持32位和64位代码的编译,还提供了丰富的特性以优化程序性能,提高开发效率。该编译器适用于各种规模的...
1. **GCC**:全称为GNU Compiler Collection,是一套包含了C、C++、Objective-C、Fortran、Ada和Go等多种编程语言的编译器。在MinGW-w64中,GCC针对Windows进行了优化,能够生成原生的Windows可执行文件。 2. **...
本教程将聚焦于如何在Matlab 2020a中配置MinGW-w64 C/C++编译器,以实现这一目标。 首先,MinGW-w64是一个开源项目,提供了一个Windows下的GCC(GNU Compiler Collection)编译环境,它支持32位和64位的应用程序...
LCC-WIN32是一款专为Windows 32位操作系统设计的小型C/C++编译器,它以其轻量级的特性而受到许多初学者和经验丰富的开发者的欢迎。这款编译器的主要特点在于它的体积小巧,使得在有限的系统资源下也能高效地运行和...
这里的`g++`就是MingW提供的C++编译器,`-o`选项指定输出文件名。 在C/C++编程中,除了编译器,还有许多其他工具也是必不可少的,比如链接器(ld)、调试器(GDB)和Makefile。MingW也提供了这些工具,使得开发者...
`icpc`命令使用与`icc`命令相同的编译器选项,利用`icpc`编译时将后缀为.c和.i的文件看作为C++文件;而利用`icc`编译时将后缀为.c和.i的文件则看作为C文件。用`icpc`编译时,总会链接C++库;而用`icc`编译时,只有在...
在64位版本的Windows上,MinGW64提供了C和C++编译器,以及相关的开发工具,如GDB(GNU Debugger)用于程序调试。下面我们将详细介绍如何安装和配置64位MinGW以及使用其提供的C/C++编译器。 首先,下载并解压...
MingW64是一款针对Windows平台的开源C/C++编译器套件,它基于GCC(GNU Compiler Collection)并为64位系统进行了优化。MinGW-W64是MinGW(Minimalist GNU for Windows)的一个分支,增加了对64位Windows操作系统的...
"mingw-w64 C/C++编译器"是VSCode中实现C/C++开发的关键部分,通过它,开发者可以方便地在VSCode内编译、运行和调试C/C++程序。为了将这个编译器与VSCode结合使用,你需要首先安装VSCode,然后安装C/C++的插件,如...
`icpc`命令使用与`icc`命令相同的编译器选项,利用`icpc`编译时将后缀为.c和.i的文件看作为C++文件;而利用`icc`编译时将后缀为.c和.i的文件则看作为C文件。用`icpc`编译时,总会链接C++库;而用`icc`编译时,只有在...
### Linux系统上C/C++编译器gcc/egcs详解 在Linux环境下,GCC(GNU Compiler Collection)作为一套重要的开源编译器集合,为开发者提供了强大的C和C++语言支持。GCC不仅支持C语言,还支持C++以及Objective-C等多种...
### Linux上的C-C++编译器与调试器详解 #### 一、GCC:Linux平台上的C/C++编译器 **GCC** (GNU Compiler Collection) 是一个强大的编译器套件,它支持多种编程语言,其中最为人所知的是其支持C、C++和Objective C...
**GCC中文手册 GNU Tools - g++与C/C++编译器** GCC(GNU Compiler Collection),是由GNU项目开发的一套开源的、跨平台的编译工具集,它包含了针对多种编程语言(如C、C++、Objective-C、Fortran、Ada等)的编译器...
在Windows上,MingW提供了一个接近于Linux GCC(GNU Compiler Collection)的开发工具集,包括了C、C++和其他语言的编译器。C++是面向对象的编程语言,它的编译器在MingW中是g++,它是GCC的一部分,用于将C++源代码...
MinGW(Minimalist GNU for Windows)是一个开源项目,旨在为Windows平台提供一套完整的GNU工具集,包括C和C++编译器。它基于GCC(GNU Compiler Collection),使得开发者能够在Windows环境下编写、编译和调试C/C++...
简单好用只需3步 使用方法: 1.下载文件并解压,...Downloads\MathWorks\SupportPackages\R2022a\archives\3p\mingw_w64.instrset_win64_1636792328\...里面的mingw63.zip也解压 ...mex -setup C++
C-Free提供了对目前业界主流C/C++编译器的支持,你可以在C-Free中轻松切换编译器。可定制的快捷键、外部工具以及外部帮助文档,使你在编写代码时得心应手。完善的工程/工程组管理使你能够方便的管理自己的代码。 ...
Eclipse IDE for C/C++ Linux64位是一款专为Linux平台设计的集成开发环境,针对C和C++编程语言提供了全面而强大的支持。Eclipse作为一个开源的、跨平台的开发工具,其C/C++版本是许多软件工程师和学生在Linux系统上...