首页 > 系统相关 >windows开发工具说明:链接器link.exe 编译器cl.exe 资源编译器rc.exe

windows开发工具说明:链接器link.exe 编译器cl.exe 资源编译器rc.exe

时间:2024-08-12 09:50:51浏览次数:17  
标签:文件 exe cl Windows Visual 编译器 链接

路径说明

  1. C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin

    • 这个路径指向的是 Microsoft Visual Studio 2015(版本14.0)中包含的 C++ 编译器及其相关的工具。这些工具包括编译器本身、链接器、资源编译器以及其他用于构建 C++ 应用程序的实用程序。通常,这个目录下的工具主要用于编译和链接针对 Windows 平台的应用程序。
  2. C:\Program Files (x86)\Windows Kits\10\bin

    • 这个路径指向的是 Windows 10 SDK 中的二进制工具文件夹。Windows SDK 包含了一系列用于开发 Windows 应用程序的工具和库文件。在这个目录下,你可以找到用于编译、链接以及调试 Windows 应用的工具,比如 cl.exe(C/C++ 编译器)、link.exe(链接器)、rc.exe(资源编译器)等。此外,这里还可能包含不同架构(如 x86, x64, ARM 等)的工具链。

工具说明

cl.exe

cl.exe文件是Visual C\C++的编译器,它将程序源代码文件编译为obj文件。

位置:C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin

位置:C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64

rc.exe

rc.exe文件是资源编译器。工程项目中的.rc文件中包含了对程序中所使用资源(菜单、图标等)的描述。rc.exe将.rc格式的文件编译为.res文件,供链接器链接到可执行文件中。

位置:C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64(安装vs以及对应windows SDK)

link.exe

link.exe是Windows平台的链接器,它将cl.exe编译生成的obj文件,资源编译器生成的.res文件,以及lib目录下的lib文件等链接成可执行的exe文件、dll文件等。

在程序编译完成后,生成的文件是以obj为扩展名的对象文件,link.exe是将对象文件和库链接起来以创建可执行程序文件或动态链接库文件的工具。

link.exe的输入文件包括obj文件、lib文件、exp文件、def文件、res文件、txt文件、ilk文件。输出文件是exe文件、dll文件、sys文件等可执行程序文件。

  位置:C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin

其他工具

1.BSCMAKE.EXE
生成一个信息文件(.bsc),用于浏览程序中的符号(类、函数、数据、宏和类型)信息。可以在集成开发环境的浏览窗口中查看这些信息(.bsc文件也可以在IDE中生成)。

2. LIB.EXE
用于生成COFF格式的lib库文件,可用于创建导出文件和引用导出定义的导入库,在为其他开发人员提供开发接口时非常有用。

3. EDITBIN.EXE
可用于编辑COFF格式的二进制文件。

4.DUMPBIN.EXE
可显示COFF二进制文件的有关信息,比如符号表等。
比如,使用dumpbin.exe分析第1章的start.exe。选择“工具”→“Visual Studio命令提示”切换到start.exe所在的目录,运行:
在bin_info.txt中包含了可执行文件中非常丰富的信息,包括文件头信息、节信息等。

5. NMAKE.EXE
程序维护实用工具,读取和执行生成文件。将在3.3节中详细
介绍nmake的使用。

6. ERRLOOK.EXE
错误查找工具,与GetLastError API函数配合使用,在程序调试时起到了很多的作用,用于分析Windows API的调用错误。如图3-1所示,在Visual Studio IDE中,可以通过菜单“工具”→“错误查找”来使用。

标签:文件,exe,cl,Windows,Visual,编译器,链接
From: https://www.cnblogs.com/lyggqm/p/18354364

相关文章

  • HCL学习
     本篇记录学习HCL的笔记。【2023年】H3CNE认证网络工程师完整培训视频教程_上 https://www.bilibili.com/video/BV1Dg411i7yM/?p=15&vd_source=ecbebcd4db8fad7f74c518d13e78b165p15网络设备文件管理需要把配置文件备份在服务器 配置文件日志文件 flash相当于......
  • Spring Cloud服务注册的守护神:一致性保障策略
    标题:SpringCloud服务注册的守护神:一致性保障策略在微服务架构中,服务注册中心扮演着核心角色,而SpringCloud作为微服务的集大成者,其服务注册机制的一致性保障尤为关键。本文将深入探讨SpringCloud中的服务注册信息一致性保障策略,揭示如何通过精妙的设计和实现确保服务注册......
  • 云中韧性:Spring Cloud服务调用重试机制深度解析
    标题:云中韧性:SpringCloud服务调用重试机制深度解析在微服务架构中,服务间的调用可能会因为网络问题、服务不可达、资源竞争等原因失败。SpringCloud作为微服务架构的主流实现框架,提供了一套完整的服务调用重试机制,以增强系统的健壮性和可靠性。本文将详细探讨SpringCloud......
  • chinese-clip中的文本编码模型RoBERTa
    RoBERTa(ARobustlyOptimizedBERTApproach)是BERT模型的一个改进版本,由FacebookAIResearch团队在2019年提出。RoBERTa在BERT的基础上,通过调整训练策略和数据量,大幅提高了模型的性能。RoBERTa的特点大规模训练数据:RoBERTa使用了更大规模的数据集进行训练,包括Boo......
  • 微服务的多面手:Spring Cloud 多数据中心支持全解析
    标题:微服务的多面手:SpringCloud多数据中心支持全解析在微服务架构中,服务的高可用性和弹性伸缩是设计的核心。随着业务的全球化发展,企业经常需要在多个数据中心部署应用以满足不同地区的用户需求,确保服务的快速响应和数据的低延迟访问。SpringCloud作为微服务架构的佼佼......
  • 【待做】【前端开发系列】 class 类的私有属性
    https://mp.weixin.qq.com/s/f-ShUeDXUQlQIwVCrAVgSAclass类的私有属性前端工作室前端精髓2024年08月11日10:51北京图片私有属性是常规的类的公有属性(包括类字段、类方法等)的对应。私有属性通过添加#前缀来创建,在类的外部无法合法地引用。这些类属性的私有封装由JavaS......
  • 使用SiliconCloud尝试GraphRag——以《三国演义》为例(手把手教程,适合小白)
    使用SiliconCloud尝试GraphRag——以《三国演义》为例(手把手教程,适合小白)使用OpenAI模型体验GraphRag——以《边城》为例在使用SiliconCloud之前,先使用OpenAI的模型看看GraphRag的效果。GraphRAG是一种基于AI的内容理解和搜索能力,利用LLMs,解析数据以创建知识图谱,并对用户......
  • SpringCloud天机学堂:我的课表(三)
    SpringCloud天机学堂:我的课表(三)文章目录SpringCloud天机学堂:我的课表(三)1、添加课程到课表2、分页查询课表3、查询正在学习的课程1、添加课程到课表首先,用户支付完成后,需要将购买的课程加入课表:而支付成功后,交易服务会基于MQ通知的方式,通知学习服务来执行加入......
  • Consider defining a bean of type ‘org.springframework.cloud.client.loadbalancer
    1、bug报错问题:项目启动失败***************************APPLICATIONFAILEDTOSTART***************************Description:Parameter1ofconstructorincom.tianji.learning.controller.InteractionQuestionAdminControllerrequiredabeanoftype'org......
  • mysql数据库:DCL:管理用户,授权
    mysql数据库:DCL:管理用户,授权管理用户添加用户关闭密码复杂验证setglobalvalidate_password_policy=0;setglobalvalidate_password_length=1;语法CREATEUSER'用户名'@'主机名'IDENTIFIEDBY'密码';例子CREATEUSER'zhangsan'@'localhost&#......