《CLR Via C# 第3版》笔记之(一) - CLR版本及编译平台
久闻这本书的大名,终于有中文版的了(英文太差没办法)。希望通过学习本书能够对CLR和.net有更深刻的了解,并且通过blog记录一些平时不太留意的地方和心得体。
主要内容:
- 通过CLRVer.exe查看本机的CLR版本
- 编译平台对最终生成的程序的影响
1. 通过CLRVer.exe查看本机的CLR版本
在.net SDK中有查看CLR版本的工具CLRVer.exe。
具体位置类似:C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools (我是64bit的系统。)
直接使用命令CLRVer.exe就能查看目前安装的CLR版本,我使用的是powershell,命令及结果如下:
PS C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools> .\clrver.exe
Versions installed on the machine:
v2.0.50727
v4.0.30319
CLRVer.exe加上 –all 参数或进程ID还可以查看当前正在运行的进程所使用的CLR版本
PS C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools> .\clrver.exe -all
3152 powershell_ise.exe v2.0.50727
684 WindowsLiveWriter.exe v2.0.50727
从中可以看出powershell_ise和LiveWriter都是基于CLRv2.0.50727的。
注:这里也可以看出CLR的版本和.net framework的版本不是一回事。
因为powershell_ise用来WPF的技术,应该是.net framework3.0或者3.5的。但是CLR版本仍是2.0的。
2. 编译平台对最终生成的程序的影响
C# 在编译时可以指定/platform选项选择编译的平台。目前有四个选项,ANYCPU x86 x64 Itanium。
/platform对程序的影响如下表:
/platform |
生成的托管模块 |
x86 Windows |
x64 windows |
IA64 Windows |
anycpu | 不明确指定 | 作为32bit应用程序运行 | 作为64bit应用程序运行 | 作为64bit应用程序运行 |
x86 | x86 | 作为32bit应用程序运行 | 作为WoW64应用程序运行 | 作为WoW64应用程序运行 |
x64 | x64 | 不运行 | 作为64bit应用程序运行 | 不运行 |
Itanium | Itanium | 不运行 | 不运行 | 作为64bit应用程序运行 |
注:关于WoW64技术
WoW64(Windows on Windows64):有Windows 64位版本提供的一个技术,允许运行32位Windows程序,WoW64能够模拟x86指令,但是这样做会显著的影响性能。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人