[√]关于cmake的kits

简介: [√]关于cmake的kits

在CMake中,Kits是指一个完整的编译和开发环境,包括编译器、目标平台、调试器等,可以轻松地将项目编译到不同的平台上。常见的Kits有Visual Studio、Android、iOS等等。

C:\Users\Administrator\AppData\Local\CMakeTools\cmake-tools-kits.json

这个文件的作用就是:告诉VSCode当前系统中都有哪些编译器可供使用,一般是CMakeTools插件自动获取到的,cmake扫描到的我的电脑上的编译器

image.png

  • x86默认是win32配置
  • amd64_x86默认是win32配置
  • amd64默认是win64配置
  • x86_amd64默认win64配置

如果编译器选择的不对,有时你会发现cmake config的项目工程不能生成32位程序,此时调整下编译即可。

历史插曲

早期时Intel先是自己搞了个x86架构,然后amd拿到授权也可以做x86了。

接着intel向64位过渡的时候搞了个ia64(x64架构),由于和x86架构不兼容,市场反应极差。

而amd率先搞了x86的64位兼容(32和64的混合架构),即现在的x86-64,Intel反过来向AMD要授权(intel和amd两家专利交叉的很严重)生产x86-64。

因为amd先搞出来的,所以x86-64也叫amd64。

  • x86 是指intel的开发的一种32位指令集,从386开始时代开始的,一直沿用至今,是一种cisc指令集,所有intel早期的cpu,amd早期的cpu都支持这种指令集,intel官方文档里面称为“IA-32”
  • x84_64 是x86 CPU开始迈向64位的时候,有2选择:
  1. 向下兼容x86
  2. 完全重新设计指令集,不兼容x86

AMD抢跑了,比Intel率先制造出了商用的兼容x86的CPU,AMD称之为AMD64,抢了64位PC的第一桶金,得到了用户的认同。

Intel选择了设计一种不兼容x86的全新64为指令集,称之为IA-64(这玩意似乎就是安腾),但是比amd晚了一步,而且IA-64也挺惨淡的,因为是全新设计的CPU,没有编译器,也不支持windows(微软把intel给忽悠了,承诺了会出安腾版windows server版,但是迟迟拿不出东西)。后来不得不在时机落后的情况下也开始支持AMD64的指令集,但是换了个名字,叫 x86_64 ,表示是x86指令集的64扩展,大概是不愿意承认这玩意是AMD设计出来的。

  • 实际上,x86_64, x64, AMD64 基本上是同一个东西,我们现在用的 intel/amd 的桌面级CPU基本上都是 x86_64,与之相对的arm,ppc 等都不是x86_64。
目录
相关文章
notepad++选中多行文本
notepad++选中多行文本
961 0
notepad++选中多行文本
|
缓存 安全 开发工具
程序与技术分享:Directx11学习笔记【三】第一个D3D11程序
程序与技术分享:Directx11学习笔记【三】第一个D3D11程序
1165 0
|
编译器 C语言 C++
C++入门6——模板(泛型编程、函数模板、类模板)
C++入门6——模板(泛型编程、函数模板、类模板)
190 0
C++入门6——模板(泛型编程、函数模板、类模板)
|
安全 Windows
Windows关闭Microsoft Defender服务
【8月更文挑战第19天】以下是关闭Windows系统中Microsoft Defender的几种方法:通过设置界面可临时关闭实时保护等功能;使用组策略编辑器(专业版适用)可较彻底关闭;修改注册表需谨慎;或利用第三方工具如Defender Control便捷操作。关闭后系统将失去实时防护,请确保有其他可靠安全软件保护。
2925 0
|
机器学习/深度学习 缓存 数据可视化
[Linformer]论文实现:Linformer: Self-Attention with Linear Complexity
[Linformer]论文实现:Linformer: Self-Attention with Linear Complexity
469 1
[Linformer]论文实现:Linformer: Self-Attention with Linear Complexity
|
设计模式 敏捷开发 持续交付
C++项目中打破循环依赖的锁链:实用方法大全(三)
C++项目中打破循环依赖的锁链:实用方法大全
512 0
|
机器学习/深度学习 网络协议 Linux
【最详细】Tcpdump使用实验
【最详细】Tcpdump使用实验
|
缓存 架构师 Linux
内存优化-如何使用tcmalloc来提升内存性能?提升的结果太不可思议
内存优化-如何使用tcmalloc来提升内存性能?提升的结果太不可思议
|
存储 缓存 Linux
内存学习(四):内存映射1
内存学习(四):内存映射1
451 0
|
前端开发
安装R包出现rdb is corrupt报错
安装R包出现rdb is corrupt报错