摘要:
CentOS 6.6自带的是Python 2.6.6,而编译llvm时需要Python 2.7以上。yum中最新的也是Python 2.6.6,只能下载Python 2.7.9的源代码自己编译安装。操作步骤如下:1)安装devtoolset;2)安装编译Python需要的包包;3)下载并解压Python 2.7.9的源代码。 阅读全文
摘要:
这个真正的控制台程序来自corefxlab,名叫CoreClrHelloWorld,是一个跨平台的.NET控制台演示程序,可以显示微软、Linux、苹果的logo。在Mac上折腾CoreClrHelloWorld的过程中,主要遇到了3个问题,问题出在System.Console中的ConsolePal.Unix.cs代码对Mac OS X的支持上。 阅读全文
摘要:
当昨天被Mac OS X上无法编译CoreCLR的问题困扰时,后来发现这个难题竟然被神人@kangaroo给解决了,连CoreCLR的微软开发人员也大吃一惊。今天发现,@kangaroo修改后可在OS X上编译的版本已被合并到CoreCLR的主分支上,直接git签出就能编译了。 阅读全文
摘要:
CoreCLR登陆GitHub之后,体验CoreCLR首当其冲的方式就是在自己的电脑上编译它,昨天分别在Windows与Linux上成功编译了CoreCLR。Windows与Linux上编译成功之后,有一个挡不住的冲动——在Mac上编译CoreCLR。虽然微软目前优先考虑的是Windows与Linux两个平台,但我最期待的却是在Mac OS X上编译CoreCLR。 阅读全文
摘要:
Build日期:2015-2-5。Linux发行版用的是CentOS 6.5,操作步骤:1)配置git;2)签出github上的CoreCLR代码库;3)安装cmake;4)安装clang;5)运行build命令;6)build结果——失败!错误信息如下:error: unknown type, name 'type_info', const type_info* 阅读全文
摘要:
在CoreCLR的开源代码中,GC的主要实现代码gc.cpp文件大小竟然有1.17MB,打开文件一看,竟然有35490行!第一次见到如此多行的单个代码文件。为什么会有这么大的代码文件?微软的哪位大神在这样的代码海洋中游弋?不禁让人产生好奇。在 Hacker News 中发现了线索(CoreCLR is now open source) 阅读全文
摘要:
昨天得知微软在GitHub上发布CoreCLR的源代码之后,立马从GitHub上签出代码,并尝试在Windows Server 2012上进行编译。参考CoreCLR的开发者指南(Developer Guide),先安装CMake —— CoreCLR所用的开源跨平台Build工具。然后复制DIA SDK文件夹。进入CoreCLR代码库所在的文件夹,运行命令 build clean 进行编译。 阅读全文
摘要:
CoreCLR是.NET Core的执行引擎,功能包括GC(Garbage Collection), JIT(将CIL代码编译为机器码)等。CoreCLR最新的最完整的实现源码已经发布在GitHub(github.com/dotnet/coreclr)上。CoreCLR的实现包括RyuJIT(即时编译),.NET GC(垃圾回收),本地互操作(native interop),和其他的.NET运行时组件。 阅读全文
摘要:
有了AutoMapper,就再也不用进行手工一对一的从IDataReader到实体字段的赋值。这篇博文是一个实际案例的记录。Src属性在数据库中对应的字段名为ImageUrl。映射要求:从IDataReader到IEnumerable<UploadImage>。通过 IMappingExpression.ForMember() 方法配置AutoMapper可以实现这个映射。 阅读全文
摘要:
前两天在Windows Server 2012上编译生成.NET Core Framework的代码库corefx,遭遇了几个问题,在这篇博文中记录一下。编译生成操作方法是在命令行(Developer Command Prompt for VS2014)中运行corefx中的build.cmd命令。遇到的第1个问题[#560]是:"Err445! Got unexpected exception: System.IO.IOException: There is not enough space on the disk." 阅读全文