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博客,转载请标明出处:http://www.cnblogs.com/lidabo/admin/file:///C:/Documents%20and%20Settings/Administrator/桌面/MFC-20100806文章/MFC-20100806文章/深入探究VC%20——%20编译器cl_exe(1)%20-%20zxzqwq2009的专栏%20-%20CSDN博客.htm

  • 相关阅读:
    VS 高级版本新建的项目如何降级使低版本 VS 可以打开
    Windows下安装VScode,并使用,以及中文配置
    使用Cadence绘制PCB流程
    VS2013/2012 下无法打开 源 文件“stdafx.h”的解决方法
    如何对Redis设置密码,提高安全性
    关于redis启动流程介绍
    Redis笔记,安装和常用命令
    阿里云主机(aliyun-Linux) x64安装Redis详解
    几款开源的图形化Redis客户端管理软件
    redis配置文件redis.conf中文版(基于2.4)
  • 原文地址:https://www.cnblogs.com/lidabo/p/3447068.html
Copyright © 2011-2022 走看看