• 《CLR Via C# 第3版》笔记之(一) CLR版本及编译平台


    久闻这本书的大名,终于有中文版的了(英文太差没办法)。希望通过学习本书能够对CLR和.net有更深刻的了解,并且通过blog记录一些平时不太留意的地方和心得体。

    主要内容:

    1. 通过CLRVer.exe查看本机的CLR版本
    2. 编译平台对最终生成的程序的影响

    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指令,但是这样做会显著的影响性能。

  • 相关阅读:
    solrcloud
    nginx代理服务器3--高可用(keepalived)
    Nginx反向代理1--基本介绍-虚拟主机
    Nginx反向代理2--配置文件配置
    C/S与B/S区别
    数据类型转换(客户端与服务器端)
    SYN Cookie的原理和实现
    ubuntu 18.04 配置 rc.local
    Summary Checklist for Run-Time Kubernetes Security
    形意拳内功心法
  • 原文地址:https://www.cnblogs.com/wang_yb/p/CLR_via_csharp_1.html
Copyright © 2020-2023  润新知