成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

詳解F# 2.0中兩大運行時的簡單應用

開發 后端
F# 2.0中有包括.NET Framework 2.0 和 .NET Framework 4 的兩個運行時,還有一個面向Silverlight 的運行時。這幾大進行時如何應用?是本文的重點。

我們知道,F# 2.0 有面向 .NET Framework 2.0 和 .NET Framework 4 的兩個運行時。此外,F# 2.0 還有一個面向Silverlight 的運行時。

面向 .NET Framework 2.0 的 F# 2.0 運行時的核心庫 (FSharp.Core.dll) 將一些 API 包含在 System 命名空間中,這些 API 與 F# 開發所需的 .NET Framework 4 API 相同。例如 System.Numerics.BigInteger 和 System.Tuple 就是這樣。

Windows 操作系統:

  1. E:\> gacutil -l FSharp.Core  
  2. Microsoft (R) .NET Global Assembly Cache Utility.  Version 4.0.30319.1  
  3. 版權所有(C) Microsoft Corporation。保留所有權利。  
  4.  
  5. 全局程序集緩存包含下列程序集:  
  6.   FSharp.Core, Version=2.0.0.0, Culture=neutralPublicKeyToken=b03f5f7f11d50a3aprocessorArchitecture=MSIL 
  7.   FSharp.Core, Version=4.0.0.0, Culture=neutralPublicKeyToken=b03f5f7f11d50a3aprocessorArchitecture=MSIL 
  8.  
  9. 項目數 = 2  
  10.  
  11. E:\> fsi.exe  
  12.  
  13. Microsoft(R) F# 2.0 Interactive 版本 4.0.30319.1  
  14. 版權所有(C) Microsoft Corporation。保留所有權利。  
  15.  
  16. 若要獲得幫助,請鍵入 #help;;  
  17.  
  18. > 8I.GetType().AssemblyQualifiedName;;  
  19. val it : string =  
  20.   "System.Numerics.BigInteger, System.Numerics, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
  21. > #quit;;  
  22.  
  23. E:\> c:  
  24. C:\> cd "\Program Files\Reference Assemblies\Microsoft\FSharp\2.0\Runtime"  
  25. C:\Program Files\Reference Assemblies\Microsoft\FSharp\2.0\Runtime> dir v2.0\FSharp.Core.dll v4.0\FSharp.Core.dll  
  26.  驅動器 C 中的卷是 OS  
  27.  卷的序列號是 5ACA-EDB5  
  28.  
  29.  C:\Program Files\Reference Assemblies\Microsoft\FSharp\2.0\Runtime\v2.0 的目錄  
  30.  
  31. 2010/03/19  05:52           938,840 FSharp.Core.dll  
  32.                1 個文件        938,840 字節  
  33.  
  34.  C:\Program Files\Reference Assemblies\Microsoft\FSharp\2.0\Runtime\v4.0 的目錄  
  35.  
  36. 2010/03/19  05:52           895,832 FSharp.Core.dll  
  37.                1 個文件        895,832 字節  
  38.                0 個目錄  4,724,301,824 可用字節  
  39.  
  40. C:\Program Files\Reference Assemblies\Microsoft\FSharp\2.0\Runtime> 

Linux 操作系統:

  1. ben@ben-1520:~$ gacutil -l FSharp.Core  
  2. The following assemblies are installed into the GAC:  
  3. FSharp.Core, Version=2.0.0.0, Culture=neutralPublicKeyToken=b03f5f7f11d50a3a 
  4. Number of items = 1 
  5. ben@ben-1520:~$ fsi.exe  
  6.  
  7. Microsoft (R) F# 2.0 Interactive build 2.0.0.0  
  8. Copyright (c) Microsoft Corporation. All Rights Reserved.  
  9.  
  10. For help type #help;;  
  11.  
  12. > 8I.GetType().AssemblyQualifiedName;;  
  13. val it : string =  
  14.   "System.Numerics.BigInteger, FSharp.Core, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
  15. > #quit;;  
  16.  
  17. - Exit...  
  18. ben@ben-1520:~$ cd /usr/local/bin/FSharp-2.0.0.0/bin/ && ls -l FSharp.Core.dll  
  19. -rw-r--r-- 1 root root 938,840 2010-06-14 23:54 FSharp.Core.dll  
  20. ben@ben-1520:/usr/local/bin/FSharp-2.0.0.0/bin$  

使用 .NET Reflector 來查看:

查看F#

 

讓我們琮看看下面的 test.fs 程序:

  1. 1:  open System;  
  2. 2:  printfn "OS  Version: %A" Environment.OSVersion  
  3. 3:  printfn "CLR Version: %A" Environment.Version  
  4. 4:  printfn "%s" (8I.GetType().AssemblyQualifiedName) 

在 Linux 操作系統下編譯和運行(使用面向 .NET Framework 2.0 的 F# 2.0 運行時):

  1. ben@ben-1520:~/work$ fsc.exe test.fs  
  2. Microsoft (R) F# 2.0 Compiler build 2.0.0.0  
  3. Copyright (c) Microsoft Corporation. All Rights Reserved.  
  4. ben@ben-1520:~/work$ fsc.exe --out:test2.exe --standalone test.fs  
  5. Microsoft (R) F# 2.0 Compiler build 2.0.0.0  
  6. Copyright (c) Microsoft Corporation. All Rights Reserved.  
  7. ben@ben-1520:~/work$ ls -l test*.exe  
  8. -rwxr-xr-x 1 ben ben 923,136 2010-08-15 14:25 test2.exe  
  9. -rwxr-xr-x 1 ben ben   4,608 2010-08-15 14:25 test.exe  
  10. ben@ben-1520:~/work$ ./test.exe  
  11. OS  Version: Unix 2.6.32.24  
  12. CLR Version: 2.0.50727.1433  
  13. System.Numerics.BigInteger, FSharp.Core, Version=2.0.0.0, Culture=neutralPublicKeyToken=b03f5f7f11d50a3a 
  14. ben@ben-1520:~/work$ ./test2.exe  
  15. OS  Version: Unix 2.6.32.24  
  16. CLR Version: 2.0.50727.1433  
  17. System.Numerics.BigInteger, test2, Version=0.0.0.0, Culture=neutralPublicKeyToken=null 
  18. ben@ben-1520:~/work$  

上面的 test2.exe 使用 --standalone 參數編譯,表示以靜態方式將 F# 庫與依賴于此庫的所有引用的 DLL 鏈接到所生成的程序集中??梢钥闯?,在 test.exe 程序中,System.Numerics.BigInteger 是定義中 FSharp.Core 程序集中,而在 test2.exe 中,System.Numerics.BigInteger 被鏈接到生成的 test2 程序集中。

在 Windows 操作系統下編譯和運行(使用面向 .NET Framework 4 的 F# 2.0 運行時):

  1. E:\work> fsc.exe test.fs  
  2. Microsoft(R) F# 2.0 編譯器版本 4.0.30319.1  
  3. 版權所有(C) Microsoft Corporation。保留所有權利。  
  4.  
  5. E:\work> fsc.exe --out:test2.exe --standalone test.fs  
  6. Microsoft(R) F# 2.0 編譯器版本 4.0.30319.1  
  7. 版權所有(C) Microsoft Corporation。保留所有權利。  
  8.  
  9. E:\work> dir test*.exe  
  10.  驅動器 E 中的卷是 Data2  
  11.  卷的序列號是 16BB-989E  
  12.  
  13.  E:\work 的目錄  
  14.  
  15. 2010/08/15  14:29             5,120 test.exe  
  16. 2010/08/15  14:30           880,128 test2.exe  
  17.                2 個文件        885,248 字節  
  18.                0 個目錄 51,641,475,072 可用字節  
  19.  
  20. E:\work> test.exe  
  21. OS  Version: Microsoft Windows NT 6.0.6002 Service Pack 2  
  22. CLR Version: 4.0.30319.1  
  23. System.Numerics.BigInteger, System.Numerics, Version=4.0.0.0, Culture=neutralPublicKeyToken=b77a5c561934e089 
  24.  
  25. E:\work> test2.exe  
  26. OS  Version: Microsoft Windows NT 6.0.6002 Service Pack 2  
  27. CLR Version: 4.0.30319.1  
  28. System.Numerics.BigInteger, System.Numerics, Version=4.0.0.0, Culture=neutralPublicKeyToken=b77a5c561934e089 
  29.  
  30. E:\work> 

可能看出,使用面向 .NET Framework 4 的 F# 2.0 運行時,System.Numerics.BigInteger 是 .NET Framework 4 的一部分,位于 System.Numerics 程序集中。不管是否使用  --standalone 參數編譯,都不會改變這一點。

此外,IronRuby 以及 IornPython 也分成面向 .NET Framework 2.0 和 .NET Framework 4 兩個版本。

原文標題:淺談 F# 2.0 的兩個運行時

鏈接:http://www.cnblogs.com/skyivben/archive/2010/08/15/1800052.html

【編輯推薦】

  1. F#中的異步及并行模式:反饋進度的事件
  2. F#中的異步及并行模式:代理的高級使用
  3. F#簡明教程三:F#語法精要
  4. F#簡明教程二:F#類型系統和類型推斷機制
  5. 詳細介紹Visual Studio 2010F#使用
責任編輯:彭凡 來源: 博客園
相關推薦

2011-05-24 11:03:25

虛擬化

2015-07-20 15:44:46

Swift框架MJExtension反射

2009-11-16 09:05:46

CodeTimer

2022-03-01 18:23:17

架構大數據系統

2024-03-21 09:15:58

JS運行的JavaScrip

2010-04-07 09:46:05

2010-09-14 17:27:12

DIV CSS定位

2010-03-16 09:09:04

F#

2020-12-07 13:31:43

GoMutex開發者

2010-01-26 08:25:06

F#語法F#教程

2010-03-26 19:22:08

F#代理

2010-04-01 09:34:06

Oracle函數

2021-09-11 15:38:23

容器運行鏡像開放

2019-07-12 09:30:12

DashboardDockerDNS

2010-07-26 08:46:21

PHP負載均衡

2018-10-25 09:04:56

Java虛擬機JVM

2010-04-07 16:51:59

F#

2024-01-29 08:07:42

FlinkYARN架構

2023-08-27 21:07:02

2023-08-21 09:37:57

MySQL工具MariaDB
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一级在线毛片 | 欧美电影免费网站 | 久久精品免费观看 | 国产欧美一区二区三区在线看蜜臀 | 一本色道久久综合亚洲精品高清 | 韩日免费视频 | 亚洲91精品 | 91精品国产一区二区三区动漫 | 精品国产乱码久久久久久蜜退臀 | 欧美精品一二区 | 日日操夜夜操天天操 | 91精品综合久久久久久五月天 | 免费在线观看一区二区 | 天堂久久天堂综合色 | 亚洲成av人影片在线观看 | 亚洲精品国产成人 | 国产99久久精品一区二区永久免费 | 亚洲精品在线免费 | 福利片一区二区 | 色眯眯视频在线观看 | 女同久久| 国产黄色大片在线免费观看 | 日韩精品视频在线观看一区二区三区 | 亚洲免费观看 | 亚洲视频在线看 | 视频一区在线观看 | 久久新视频 | 国产成人精品视频在线观看 | a在线观看| 激情一区二区三区 | 国产精品久久久久久久久久久久久久 | 91久久国产综合久久 | 欧美成年网站 | 91精品国产色综合久久 | 人人干视频在线 | 久久久久久久一区二区 | 久久久久www | 国产精品18hdxxxⅹ在线 | 国产一级淫片a直接免费看 免费a网站 | 玖玖操 | 一区二区三区中文字幕 |