什么是 F# 的 FSharp.Core.optdata 和 FSharp.Core.sigdata 文件? [英] What are F#'s FSharp.Core.optdata and FSharp.Core.sigdata files?
问题描述
这两个文件似乎都与 FSharp.Core.dll 一起驻留在 F# 的目录中.如果忘记将它们与 FSharp.Core.dll 放在一起,这两个文件似乎都是麻烦的源头.它们似乎是二进制文件,所以我无法发现它们的用途.
Both files seem to reside in F#'s directory, along with FSharp.Core.dll. Both files seem to be a constant source of trouble if one forgets to put them together with FSharp.Core.dll. They seem to be binary files so I wasn't able to uncover their purpose.
我在谷歌上搜索了两个文件,但我的问题似乎没有明确的答案.那么..它们在 F# 中的功能是什么?
I googled a bit both files but there doesn't seem to be a clear answer to my question. So..what is their function in F#?
推荐答案
Optdata 绝对是优化数据,它是作为编译器中EncodeOptimizationData
函数的一部分编写的.FSharp.Core
将此信息存储在外部文件中,而不是嵌入到资源清单中.
Optdata is definitely optimisation data, it is written as part of the EncodeOptimizationData
function in the compiler. FSharp.Core
has this information stored in an external file rather than embedded in the resource manifest.
sigdata 使用 EncodeInterfaceData
进行编码,并包含有关 F# 类型的签名/接口的信息.FSharp.Core
、FSharp.Compiler.Silverlight
和 FSharp.LanguageService.Compiler
都将此信息存储在外部文件中,而不是嵌入到资源清单.
sigdata is encoded with EncodeInterfaceData
and contains information about the signatures/interfaces for the F# types. FSharp.Core
, FSharp.Compiler.Silverlight
and FSharp.LanguageService.Compiler
all have this information stored in an external file rather than embedded in the resource manifest.
由于 FSharp.Core
在其资源清单中不包含其中任何一个,它们必须存在于外部,但我不确定这个原因.
As FSharp.Core
does not contain either of these in its resource manifest they have to be present externally, Im not sure of this reason though.
用户生成的 F# 文件在编译时会将这些信息编码到资源清单中,如果您查看元数据,您就可以看到这一点.
User produced F# files, when compiled, have this information encoded into the resource manifest, you can see this if you look at the metadata.
这篇关于什么是 F# 的 FSharp.Core.optdata 和 FSharp.Core.sigdata 文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!