怎么在控制台编译、执行C/C++程序?我安装了VC++6.0


Java可以控制台中用javac命令编译java、用java命令执行java
c++在控制台中用什么命令呢?谢谢!

5 个解决方案

#1


CL.exe   是控制   Microsoft   C   和   C++   编译器与链接器的   32   位工具。编译器产生通用对象文件格式   (COFF)   对象   (.obj)   文件。链接器产生可执行文件   (.exe)   或动态链接库文件   (DLL)。  
   
  注意,所有编译器选项都区分大小写。  
   
  若要编译但不链接,请使用   /c。  
   
  使用   NMAKE   生成输出文件。  
   
  使用   BSCMAKE   支持类浏览。  
   
  以下是一个完整的编译器选项分类列表。  
   
  优化  
   
  选项   作用    
  /O1   创建小代码    
  /O2   创建快速代码    
  /Oa   假设没有别名    
  /Ob   控制内联展开    
  /Od   禁用优化    
  /Og   使用全局优化    
  /Oi   生成内部函数    
  /Op   改善浮点数一致性    
  /Os   代码大小优先    
  /Ot   代码速度优先    
  /Ow   假定在函数调用中使用别名    
  /Ox   使用最大优化   (/Ob1gity   /Gs)    
  /Oy   省略框架指针    
   
  代码生成  
   
  选项   作用    
  /clr   启用   C++   的托管扩展并产生在公共语言运行库上运行的输出文件    
  /EH   指定异常处理模型    
  /G3   优化代码以优选   386   处理器。在   Visual   C++   5.0   中已经停用,编译器将忽略此选项    
  /G4   优化代码以优选   486   处理器。在   Visual   C++   5.0   中已经停用,编译器将忽略此选项    
  /G5   优化代码以优选   Pentium    
  /GB   与   /G6   等效;将   _M_IX86   的值设置为   600    
  /Gd   使用   __cdecl   调用约定    
  /Ge   激活堆栈探测    
  /GF  
  /GF   启用字符串池    
  /GH   调用挂钩函数   _penter    
  /GH   调用挂钩函数   _pexit    
  /GL   启用全程序优化    
  /Gm   启用最小重新生成    
  /Gr   启用运行时类型信息   (RTTI)    
  /Gr   使用   __fastcall   调用约定    
  /GS   控制堆栈探测    
  /GT   支持使用静态线程本地存储区分配的数据的纤程安全    
  /GX   启用同步异常处理    
  /Gy   启用函数级链接    
  /GZ   使用   __stdcall   调用约定    
  /MD   使用   MSVCRT.lib   创建多线程   DLL    
  /MDd   使用   MSVCRTD.lib   创建调试多线程   DLL    
  /ML   使用   LIBC.lib   创建单线程可执行文件    
  /MLd   使用   LIBCD.lib   创建调试单线程可执行文件    
  /MT   使用   LIBCMT.lib   创建多线程可执行文件    
  /MTd   使用   LIBCMTD.lib   创建调试多线程可执行文件    
   
  输出文件  
   
  选项   作用    
  /FA  
  /FA   创建列表文件  
  设置列表文件名    
  /Fd   重命名程序数据库文件    
  /Fe   重命名可执行文件    
  /Fm   创建映射文件    
  /Fo   创建对象文件    
  /Fp   指定预编译头文件名    
  /FR  
  /FR   生成浏览器文件    
  /Fx   将插入的代码与源文件合并    
   
  调试  
   
  选项   作用    
  /GS   缓冲区安全检查    
  /GZ   与   /RTC1   相同    
  /RTC   启用运行时错误检查    
  /Wp64   检测   64   位可移植性问题    
  /Yd   将完整的调试信息放在所有对象文件中    
  /Yl   创建调试库时插入   PCH   引用    
  /Z7   生成与   C   7.0   兼容的调试信息    
  /Zd   生成行号    
  /Zi   生成完整的调试信息    
   
  预处理器  
   
  选项   作用    
  /AI   指定在解析传递到#using   指令的文件引用时搜索的目录    
  /c   在预处理期间保留注释    
  /D   定义常数和宏    
  /E   将预处理器输出复制到标准输出    
  /EP   将预处理器输出复制到标准输出    
  /Fl   预处理指定的包含文件    
  /FU   强制使用文件名,就像它已被传递到#using   指令一样    
  /I   在目录中搜索包含文件    
  /P   将预处理器输出写入文件    
  /U   移除预定义宏    
  /U   移除所有的预定义宏    
  /X   忽略标准包含目录    
  /ZI   将调试信息包含在与“编辑并继续”兼容的程序数据库中    
   
  语言  
   
  选项   作用    
  /noBool   取消   C++   bool、true   和   false   关键字    
  /vd   取消或启用隐藏的   vtordisp   类成员    
  /vmb   对指向成员的指针使用最佳的基    
  /vmg   对指向成员的指针使用完全一般性    
  /vmm   声明多重继承    
  /vms   声明单一继承    
  /vmv   声明虚拟继承    
  /Za   禁用语言扩展    
  /Zc   在   /Ze   下指定标准行为    
  /Ze   启用语言扩展    
  /Zg   生成函数原型    
  /Zl   从   .obj   文件中移除默认库名    
  /Zp   n   封装结构成员    
  /Zs   只检查语法    
   
  链接  
   
  选项   作用    
  /F   设置堆栈大小    
  /LD   创建动态链接库    
  /LDd   创建调试动态链接库    
  /link   将指定的选项传递给   LINK    
  /MD   使用   MSVCRT.lib   编译以创建多线程   DLL    
  /MDd   使用   MSVCRTD.lib   编译以创建调试多线程   DLL    
  /ML   使用   LIBC.lib   编译以创建单线程可执行文件    
  /MLd   使用   LIBCD.lib   编译以创建调试单线程可执行文件    
  /MT   使用   LIBCMT.lib   编译以创建多线程可执行文件    
  /MTd   使用   LIBCMTD.lib   编译以创建调试多线程可执行文件    
   
  预编译头  
   
  选项   作用    
  /Y-   忽略当前生成中的所有其他预编译头编译器选项    
  /Yc   创建预编译头文件    
  /Yd   将完整的调试信息放在所有对象文件中    
  /Yu   在生成期间使用预编译头文件    
  /YX   自动处理预编译头    
   
  杂项  
   
  选项   作用    
  @   指定响应文件    
  /?   列出编译器选项    
  /c   编译但不链接    
  /H   限制外部(公共)名称的长度    
  /HELP   列出编译器选项    
  /J   更改默认的   char   类型    
  /NOLOGO   取消显示登录版权标志    
  /QI0f   确保   Pentium   0F   指令没有问题    
  /QIfdiv   FDIV、FPREM、FPTAN   和   FPATAN   指令有缺陷的   Intel   Pentium   微处理器的变通方法    
  QIfist   当需要从浮点类型转换为整型时取消   Helper   函数   _ftol   的调用    
  /showIncludes   在编译期间显示所有包含文件的列表    
  /Tc  
  /Tc   指定   C   源文件    
  /Tp  
  /Tp   指定   C++   源文件    
  /V   设置版本字符串    
  /w   设置警告等级    
  /w   禁用所有警告    
  /Wall   启用所有警告,包括默认情况下禁用的警告    
  /WL   在从命令行编译   C++   源代码时启用错误信息和警告消息的单行诊断    
  /Zm   设置编译器的内存分配限制    
CL   命令行使用下列语法:  
   
  CL   [option...]   file...   [option   |   file]...   [lib...]   [@command-file]   [/link   link-opt...]  
   
  下表说明CL   命令的输入项意义    
   
  option   一个或多个   CL   选项。请注意,所有选项都应用于所有指定的源文件。选项是由一个正斜杠   (/)   或一个短划线   (–)   指定的。如果某个选项带有参数,则该选项的说明指定在选项和参数之间是否允许有空格。选项名(/HELP   选项除外)区分大小写。有关更多信息,请参阅   CL   选项的顺序。      
   
  file   一个或多个源文件、.obj   文件或库的名称。CL   编译源文件并将   .obj   文件和库的名称传递给链接器。有关更多信息,请参阅   CL   文件名语法。      
   
  lib   一个或多个库名。CL   将这些名称传递给链接器。    
   
  command-file   包含多个选项和文件名的文件。有关更多信息,请参阅   CL   命令文件。    
   
  link-opt   一个或多个链接器选项。CL   将这些选项传递给链接器。    
   
  您可以指定任意数目的选项、文件名和库名,条件是命令行上的字符数不超过   1024,该限制是操作系统指定的。  

#2


                         C/C++ COMPILER OPTIONS


                              -OPTIMIZATION-

/O1 minimize space                      /O2 maximize speed
/Ob<n> inline expansion (default n=0)   /Od disable optimizations (default)
/Og enable global optimization          /Oi[-] enable intrinsic functions
/Os favor code space                    /Ot favor code speed
/Ox maximum optimizations               /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[-] enable C++ EH (same as /EHsc)
/EHs enable C++ EH (no SEH exceptions)  /EHa enable C++ EH (w/ SEH exceptions)
/EHc extern "C" defaults to nothrow     
/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; results are predictable
    strict - "strict" floating-point model (implies /fp:except)
/Qfast_transcendentals generate inline FP intrinsics even with /fp:except
/GL[-] enable link-time code generation /GA optimize for Windows Application
/Ge force stack checking for all funcs  /Gs[num] control stack checking calls
/Gh enable _penter function call        /GH enable _pexit function call
/GT generate fiber-safe TLS accesses    /RTC1 Enable fast checks (/RTCsu)
/RTCc Convert to smaller type checks    /RTCs Stack Frame runtime checking
/RTCu Uninitialized local usage checks  
/clr[:option] compile for common language runtime, where option is:
    pure - produce IL-only output file (no native executable code)
    safe - produce IL-only verifiable output file
    oldSyntax - accept the Managed Extensions syntax from Visual C++ 2002/2003
    initialAppDomain - enable initial AppDomain behavior of Visual C++ 2002
    noAssembly - do not produce an assembly
/Gd __cdecl calling convention          /Gr __fastcall calling convention
/Gz __stdcall calling convention        /GZ Enable stack checks (/RTCs)
/QIfist[-] use FIST instead of ftol()   
/hotpatch ensure function padding for hotpatchable images
/arch:<SSE|SSE2|AVX> minimum CPU architecture requirements, one of:
    SSE - enable use of instructions available with SSE enabled CPUs
    SSE2 - enable use of instructions available with SSE2 enabled CPUs
    AVX - enable use of Intel(R) Advanced Vector Extensions instructions
/Qimprecise_fwaits generate FWAITs only on "try" boundaries, not inside "try"
/Qsafe_fp_loads generate safe FP loads  

                              -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       /Fi[file] name preprocessed 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/module 
/C don't strip comments                 /D<name>{=|#}<text> define macro
/E preprocess to stdout                 /EP preprocess to stdout, no #line
/P preprocess to file                   /Fx merge injected code to file
/FI<file> name forced include file      /U<name> remove predefined macro
/u remove all predefined macros         /I<dir> add to include search path
/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 extensions (default)         /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++ language conformance, where arguments can be:
    forScope[-] - enforce Standard C++ for scoping rules
    wchar_t[-] - wchar_t is the native type, not a typedef
    auto[-] - enforce the new Standard C++ meaning for auto
    trigraphs[-] - enable trigraphs (off by default)
/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 full pathnames in diagnostics   /H<num> max external name length
/J default char type is unsigned        
/MP[n] use up to 'n' processes for compilation
/nologo suppress copyright message      /showIncludes show include file names
/Tc<source file> compile file as .c     /Tp<source file> compile file as .cpp
/TC compile all files 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 (default n=1)   /Wall enable all warnings
/WL enable one line diagnostics         /WX treat warnings 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 default)
/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 debug lib
/MTd link with LIBCMTD.LIB debug lib    

#3


看不懂啊,这个帖子不错。[转] editplus下面c/c++配置

#4


既然装了VC++ 6.0为什么还要去控制台编译。。。。。
直接用VC的编译按钮不就好了么?

#5


cl编译
link连接
执行之前要设置环境,vc带了一个批处理文件,执行一下就好,那个批处理文件在vc主目录下,我都是把那个改个名字放晕到死目录下。
命令行编译有命令行编译的好处,我很多程序都是命令行编译的,这样不会有很多垃圾文件,配套版本控制也方便。还有,命令行编译比较稳定,参数你都是写在makefile中的,免得不小心调整了IDE中某个配置之后程序出问题很难排查。

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2019 ITdaan.com

赞助商广告