zoukankan      html  css  js  c++  java
  • 深入探究VC —— 编译器cl.exe(1)

    cl.exe的功能是将源代码文件编译为可提供链接器使用的obj对象文件。cl.exe命令行参数形式如下:

    CL (option...) file... [option | file]... [lib...] [@command-file] [/link link-opt...]

    各命令行参数的意义如下 :

    1、option

    命令行中的"option"是指一个或多个编译选项。在指定选项时,需要在选项前加正斜杠(/)或一个短划线(-)。有一些选项还会带有参数,使用":"来指定选项的参数。比如"/sybsystem:windows,5.0"是一个编译选项,表示可执行程序执行所依赖的子系统是Windows(Win32图形用户界面的应用程序),版本最低5.0(即Windows 2000)。选项名区分大小写(/HELP选项除外),而且除了/link选项之外,其他选项是顺序没有要求。在编译时所指定的所有选项都将应用于用户指定的所有源文件。option命令行参数是可选。

    2、file

    命令行中的"file"是一个或多个所需要编译的源文件,也可以是.obj文件或库文件。cl.exe编译源文件并将.obj文件和库的名称传递给编译器。file参数是编译器的必须参数。

    3、lib

    该选项用于指定一个或多个库名。cl.exe直接将这些名称传递给链接器。lib是cl.exe的可选参数。

    4、command-file

    它包含多个选项和文件名的文件,为可选参数。

    5、link-opt

    一个或多个链接器选项。CL将这些选项传递给链接器,也是可选参数。

    举例Hello World:

    // File   Name: Hello.c // Description: First Win32 Application // by Koma 2009-11-18 22:05

    #include <windows.h> #pragma comment(lib,"user32.lib")

    int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR pszCmdLine, int cmdShow) {     MessageBox(NULL,"Hello World !","Test",MB_OK);     return 0; }

    那么编译该源文件命令行下:

    cl /O2 /Fa /Gz /Fo Hello.c

    "Hello.c"前面的都是编译选项(即option参数),"Hello.c"是源文件(file参数),没有使用lib、command-file、link-opt等命令行参数。

    在命令行编译前,需要设置你的环境变量,如下所示:

    include    C:/Program Files/Microsoft Visual Studio/VC98/Include

    lib           C:/Program Files/Microsoft Visual Studio/VC98/Lib

    path       C:/Program Files/Microsoft Visual Studio/Common/MSDev98/Bin;C:/Program Files/Microsoft Visual Studio/VC98/Bin

    (如果被修改过的并不是默认如此,设置完成需要重启电脑)

    好了,关于编译器命令行参数暂时就学习到这了~~~

    本文来自CSDN博客,转载请标明出处:file:///C:/Documents%20and%20Settings/Administrator/桌面/MFC-20100806文章/MFC-20100806文章/深入探究VC%20——%20编译器cl_exe(1)%20-%20zxzqwq2009的专栏%20-%20CSDN博客.htm

  • 相关阅读:
    CorelDRAW X8完全学习教程
    Linux环境编程:从应用到内核
    Excel 2010 VBA 入门与实战
    iOS 用GDataXMLNode创建和解析XML
    iOS 使用SBJSON创建和解析JSON
    [iOS]MD5加密字符串
    Read and Write NSArray, NSDictionary and NSSet to a File
    ASIHTTPRequest类库简介和使用说明
    ios 调用webservice整理
    数据库迁移(SQL SERVER导入数据到MySql)
  • 原文地址:https://www.cnblogs.com/lzhitian/p/2329796.html
Copyright © 2011-2022 走看看