[√]关于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。
目录
相关文章
|
3月前
onnxruntime cmake配置
onnxruntime cmake配置
57 2
|
3月前
|
Unix iOS开发 Ruby
解决CocoaPods installed but it is not working
解决CocoaPods installed but it is not working
99 5
|
5月前
Clion-2023.1.4配置CMake-3.25.3
Clion-2023.1.4配置CMake-3.25.3
|
5月前
|
Unix
深入理解 CMake 的 `cmake --build` 命令
深入理解 CMake 的 `cmake --build` 命令
632 1
|
算法 C++
[√]ffi zlib
[√]ffi zlib
63 1
|
Web App开发 JavaScript 前端开发
[√]MeshBuffer和VertexFormat
[√]MeshBuffer和VertexFormat
57 1
|
编译器
[√]cmake 编译选项
[√]cmake 编译选项
72 0
|
Shell C++ Windows
[√]尝试使用cmake编译使用vld
[√]尝试使用cmake编译使用vld
110 0
|
XML C++ 数据格式
[√]vld的安装和使用
[√]vld的安装和使用
123 0
|
存储 Cloud Native Linux
CMake学习之windows下cmake生成nmake
CMake学习之windows下cmake生成nmake