库文件 c语言 编译器,抽取VS文件组成类GCC的编译器,并编译C程序为dll动态链接库...
2.下面详细介绍下cl命令:
cl.exe 是控制 Microsoft C 和 C++ 编译器与链接器的 32 位工具。编译器产生通用对象文件格式 (COFF)
对象 (.obj) 文件。链接器产生可执行文件 (.exe) 或动态链接库文件 (DLL)。
注意,所有编译器选项都区分大小写。
用法如下:
CL [option...] file... [option | file]... [lib...] [@command-file] [/link link-opt...]
option : 一个或多个 CL 选项。请注意,所有选项都应用于所有指定的源文件。选项是由一个正斜杠 (/) 或一个短划线 (-) 指定的。如果某个选项带有参数,则该选项的说明指定在选项和参数之间是否允许有空格。选项名(/HELP 选项除外)区分大小写。 CL:
/c : 编译但不链接
/Zs : 检查语法
/? : 列出编译器选项
/arch : 使用 SSE 或 SSE2 指令生成代码
/arch:SSE2
/clr : 启用 C++ 的托管扩展并产生在公共语言运行库上运行的输出文件
/F : 设置堆栈大小 | 此选项设置程序堆栈大小(以字节为单位)。如果不使用此选项,堆栈大小默认为 1 MB,比如:/F 100
/Fe : 重命名可执行文件
/Feexe.exe
/G7 :针对 Pentium 4 或 Athlon 优化代码。
/GA :优化 Windows 应用程序的代码
/GL :启用全程序优化
/Gm :启用最小重新生成
/HELP :列出编译器选项
/I :在目录中搜索包含文件 | 指定源文件目录 include,例如:/I "e:\VC\include"
/link : 将指定的选项传递给 LINK
/MD : 使用 MSVCRT.lib 创建多线程 DLL
/ML : 使用 LIBC.lib 创建单线程可执行文件
/MT : 使用 LIBCMT.lib 创建多线程可执行文件
/O1 : 创建小代码
/O2 : 创建快速代码
/Os : 代码大小优先
/W : 设置警告等级
/W3
/Ot : 代码速度优先
/LD : 创建动态链接库
/Ox : 使用最大优化
/TC : 指定 C 源文件
/TP : 指定 C++ 源文件
-----------------------------------------------------------------------------------------
file : 一个或多个源文件、.obj 文件或库的名称。CL 编译源文件并将 .obj 文件和库的名称传递给链接器。有关更多信息,请参见 CL 文件名语法。
lib : 一个或多个库名。CL 将这些名称传递给链接器。
command-file: 包含多个选项和文件名的文件。有关更多信息,请参见 CL 命令文件。
link-opt : 一个或多个链接器选项。CL 将这些选项传递给链接器
---------------------------------------------------------------------------------------------
精典用法:
cl *.cpp /G7 /MD /Ox /Ot /W3 /c /EHsc /I"G:\Visual C++\VC98\PlatformSDK\Include"
3.说道cl,不得不说一下另一个工具link
link是将通用对象文件格式 (COFF) 对象文件和库链接起来以创建 32 位可执行 (.exe) 文件或动态链接库 (DLL) 的 32 位工具。
link用法如下:
/ALIGN : 指定每一节的对齐方式
/ALIGN : 选项指定程序线性地址空间中每一节的对齐方式。number 参数以字节为单位,并且必须是2 的幂。默认值是 4K (4096)。如果对齐方式产生无效的图像,则链接器发出警告。除非正在编写诸如设备驱动程序的应用程序,否则应不需要修改对齐方式。
/DLL : 生成 DLL
/DRIVER : 创建 Windows NT 核心模式驱动程序
/EXETYPE : 生成虚拟设备驱动程序
/EXETYPE:DYNAMIC 创建动态加载的虚拟设备驱动程序。
/EXETYPE:DEV386 创建静态加载的虚拟设备驱动程序。这是 /EXETYPE 的默认值
/INCREMENTAL : 控制增量链接
/LARGEADDRESSAWARE : 通知编译器应用程序支持大于 2 GB 的地址
/LIBPATH : 允许用户重写环境库路径
/LIBPATH:"e:\VC\LIB" /LIBPATH:"e:\DX\LIB"
/MACHINE : 指定目标平台
/MACHINE:{AM33|ARM|EBC|IA64|M32R|MIPS|MIPS16|MIPSFPU|MIPSFPU16|MIPSR41XX|SH3|SH3DSP|SH4|SH5|THUMB|X86| X64/*8.0版本*/}
/MACHINE : X86
/NOENTRY : 创建纯资源 DLL,创建纯资源 DLL 时要求 /NOENTRY 选项。
/OPT : 控制 LINK 优化如果生成仅运行于 Windows NT 或 Windows 2000 上的组件,则应使用 /OPT:NOWIN98。
/SUBSYSTEM : 指定子系统 {CONSOLE|EFI_APPLICATION|EFI_BOOT_SERVICE_DRIVER|
EFI_ROM|EFI_RUNTIME_DRIVER|NATIVE|POSIX|WINDOWS|WINDOWSCE}[,#[.##]]
/OUT : 指定输出文件名,比如:/OUT:Hello.exe
---------------------------------------------------------------------------------------------
精典用法:
link *.obj rc.res /LIBPATH:"G:\Visual C++\lib" /SUBSYSTEM:WINDOWS /MACHINE:X86 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib OpenGL32.Lib
4.另外:rc 是资源编译
/l 列出资源用的区域性
0x804 中国
0x409 美国
用法:rc /l 0x804 file.rc
---------------------------------------------------------------------------------------------
MFC 开发如下:
编译源代码:
cl *.cpp /Ox /Ot /G7 /D "WIN32" /D "_WINDOWS" /D "_AFXDLL" /EHsc /MD /arch:SSE2 /W3 /c
资源编译 :
rc /l 0x804 winmfc.rc
链接 :
link *.obj WinMFC.res /out:WinMFC.exe /OPT:NOWIN98 /SUBSYSTEM:WINDOWS /MACHINE:X86
库文件 c语言 编译器,抽取VS文件组成类GCC的编译器,并编译C程序为dll动态链接库...相关推荐
- 易语言从c盘开始搜索文件,易语言全盘查找指定文件并返回地址
易语言全盘查找指定文件并返回地址,类似于全盘扫描文件,可以学习一下 .版本 2 .支持库 iext .子程序 列表, , , ***寻找目录下的所有子目录** .参数 路径, 文本型 .参数 查找的文 ...
- 创建ogg文件 c语言,Ogg音频格式文件的样本构造(CVE-2018-5146)
原标题:Ogg音频格式文件的样本构造(CVE-2018-5146) *严正声明:本文仅限于技术讨论与分享,严禁用于非法途径 下面的所有分析都是在Firefox 59.0 32位上进行的.由于笔者是刚入 ...
- c语言头文件_C语言学习之头文件的原理和使用方法
头文件是扩展名为 .h 的文件,包含了 C 函数声明和宏定义,被多个源文件中引用共享.有两种类型的头文件:程序员编写的头文件和编译器自带的头文件. 在程序中要使用头文件,需要使用 C 预处理指令 #i ...
- r语言读取C盘的csv文件,R语言开发之CSV文件的读写操作实现
在R中,我们可以从存储在R环境外部的文件读取数据,还可以将数据写入由操作系统存储和访问的文件.这个csv文件应该存在于当前工作目录中,以方便R可以读取它, 当然,也可以设置自己的目录,并从那里读取文件 ...
- c语言处理单色bmp文件,C语言处理单色BMP文件
使用C 语言获得黑白BMP文档的参数而不使用其他函数. 使用C处理单色BMP照片 首先要了解BMP文件的格式: BMP图片的扫描方式 是从左到右,从下至上,对每个像素取值.一个扫描行所占的字节数为4的 ...
- 合并excel文件 C语言,多个Excel文件中的多个Sheet合并到一个Excel文件中两个函数...
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, For ...
- dbc文件c语言解析标准,DBC文件解析CAN信息
<DBC文件解析CAN信息>由会员分享,可在线阅读,更多相关<DBC文件解析CAN信息(15页珍藏版)>请在人人文库网上搜索. 1.DBCCAN数据包-基于CANAPE,打开C ...
- c语言搜索全盘文件,c语言全盘搜索指定文件的实例代码
#include #include void FindFile(char* ,char* ); int count=0;//统计文件数 char fname[32]; #define BUFSIZE ...
- c语言文件怎么重命名文件,c语言中 如何删除文件和重命名文件,举个例子可以么...
满意答案 takurachin 2013.05.27 采纳率:45% 等级:12 已帮助:8700人 函数名: rename 功 能: 重命名文件 用 法: int rename(char *o ...
- c语言fopen函数读dat文件,C语言 从a.dat文件读入数据存入b.dat文件里面(以字符形式)...
满意答案 yaokowbiw7 2016.05.09 采纳率:50% 等级:10 已帮助:516人 #include #define nodup(a) if(a != c) { fputc(a, ...
最新文章
- 8 - 9 template两大功能 : simple_tag、模板继承
- 用java程序将GBK字符转成UTF-8编码格式(转)
- mysql_表_操作
- 【Python学习】 - skimage包
- QT5动态创建多个按钮控件并关联信号槽函数
- python查天气预报_一个用Python编写抓取天气预报的代码示例
- C语言动态链表数据结构实现的学生信息项目
- adobe reader XI打开大约十几秒就闪退问题解决方法大全
- 视频教程-Excel函数教程(上)-Office/WPS
- python 文件内容对比_用python进行文件比对
- 探秘西诚慧联巧匠化工安全综合管理平台——实现厂区安全智能管控
- NVIDIA TX2 使能CAN模块
- 51nod 1526 分配笔名(字典树)
- Qt编写地图综合应用60-覆盖物坐标和搜索
- 用python找出400多万次KDJ金叉死叉,胜率有多高?附代码
- VS Code 2022路线图:大量Spring Boot优化提上日程
- 个人博客系统【项目篇】
- 当编程语言都变成女孩子,你会不会喜欢她们!
- scikit-learn中评估分类器性能的度量,像混淆矩阵、ROC、AUC等
- web开发 简单的html2