02 2015 档案

摘要:之前写过一篇关于CentOS更改主机名的随笔,搞得很复杂,详见修改阿里云CentOS Linux服务器的主机名。今天在askubuntu上发现一个很简单的方法(How do I change the hostname without a restart?),只需使用hostnamectl命令:hostnamectl set-hostname 新主机名 。找出更简单的方法解决问题,也是技术人员的一种乐趣。 阅读全文
posted @ 2015-02-26 18:19 dudu 阅读(3643) 评论(2) 推荐(0) 编辑
摘要:有了stack unwinding特性,才能在.NET程序中获取调用堆栈(call stack)信息,才能在异常时显示调用堆栈信息。这个特性之前只在Windows上有实现,Linux/Mac上的实现最近才刚刚添加,今天才被合并到主分支。 阅读全文
posted @ 2015-02-21 16:30 dudu 阅读(858) 评论(2) 推荐(1) 编辑
摘要:经过几天的努力,终于解决了在CentOS上编译CoreCLR的问题。最终发现问题是CMAKE_C_FLAGS的设置引起的。只要在src/pal/tools/clang-compiler-override.txt中删除一行配置,在src/pal/tests/CMakeLists.txt中添加一行配置,就能编译了。下面分享一下在CentOS上编辑CoreCLR的配置步骤。 阅读全文
posted @ 2015-02-19 22:11 dudu 阅读(2881) 评论(15) 推荐(0) 编辑
摘要:编译CoreCLR需要Clang 3.5,而CentOS上安装的是Clang 3.4.2(yum repos中最新版也是这个),只能自己手工编译LLVM的源代码进行安装。CentOS的版本是6.6。一、安装libstdc++4.7;二、安装Python 2.7.9;三、编译LLVM。 阅读全文
posted @ 2015-02-18 10:08 dudu 阅读(21462) 评论(0) 推荐(2) 编辑
摘要: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的源代码。 阅读全文
posted @ 2015-02-16 16:10 dudu 阅读(56390) 评论(1) 推荐(5) 编辑
摘要:这个真正的控制台程序来自corefxlab,名叫CoreClrHelloWorld,是一个跨平台的.NET控制台演示程序,可以显示微软、Linux、苹果的logo。在Mac上折腾CoreClrHelloWorld的过程中,主要遇到了3个问题,问题出在System.Console中的ConsolePal.Unix.cs代码对Mac OS X的支持上。 阅读全文
posted @ 2015-02-12 13:19 dudu 阅读(7567) 评论(10) 推荐(7) 编辑
摘要:当昨天被Mac OS X上无法编译CoreCLR的问题困扰时,后来发现这个难题竟然被神人@kangaroo给解决了,连CoreCLR的微软开发人员也大吃一惊。今天发现,@kangaroo修改后可在OS X上编译的版本已被合并到CoreCLR的主分支上,直接git签出就能编译了。 阅读全文
posted @ 2015-02-07 19:09 dudu 阅读(4813) 评论(17) 推荐(9) 编辑
摘要:CoreCLR登陆GitHub之后,体验CoreCLR首当其冲的方式就是在自己的电脑上编译它,昨天分别在Windows与Linux上成功编译了CoreCLR。Windows与Linux上编译成功之后,有一个挡不住的冲动——在Mac上编译CoreCLR。虽然微软目前优先考虑的是Windows与Linux两个平台,但我最期待的却是在Mac OS X上编译CoreCLR。 阅读全文
posted @ 2015-02-06 13:25 dudu 阅读(6741) 评论(21) 推荐(17) 编辑
摘要: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* 阅读全文
posted @ 2015-02-05 18:20 dudu 阅读(4471) 评论(9) 推荐(4) 编辑
摘要:在CoreCLR的开源代码中,GC的主要实现代码gc.cpp文件大小竟然有1.17MB,打开文件一看,竟然有35490行!第一次见到如此多行的单个代码文件。为什么会有这么大的代码文件?微软的哪位大神在这样的代码海洋中游弋?不禁让人产生好奇。在 Hacker News 中发现了线索(CoreCLR is now open source) 阅读全文
posted @ 2015-02-05 13:05 dudu 阅读(1763) 评论(5) 推荐(2) 编辑
摘要:昨天得知微软在GitHub上发布CoreCLR的源代码之后,立马从GitHub上签出代码,并尝试在Windows Server 2012上进行编译。参考CoreCLR的开发者指南(Developer Guide),先安装CMake —— CoreCLR所用的开源跨平台Build工具。然后复制DIA SDK文件夹。进入CoreCLR代码库所在的文件夹,运行命令 build clean 进行编译。 阅读全文
posted @ 2015-02-05 11:19 dudu 阅读(6050) 评论(10) 推荐(7) 编辑
摘要:CoreCLR是.NET Core的执行引擎,功能包括GC(Garbage Collection), JIT(将CIL代码编译为机器码)等。CoreCLR最新的最完整的实现源码已经发布在GitHub(github.com/dotnet/coreclr)上。CoreCLR的实现包括RyuJIT(即时编译),.NET GC(垃圾回收),本地互操作(native interop),和其他的.NET运行时组件。 阅读全文
posted @ 2015-02-04 13:59 dudu 阅读(1011) 评论(2) 推荐(2) 编辑
摘要:有了AutoMapper,就再也不用进行手工一对一的从IDataReader到实体字段的赋值。这篇博文是一个实际案例的记录。Src属性在数据库中对应的字段名为ImageUrl。映射要求:从IDataReader到IEnumerable<UploadImage>。通过 IMappingExpression.ForMember() 方法配置AutoMapper可以实现这个映射。 阅读全文
posted @ 2015-02-03 17:28 dudu 阅读(3914) 评论(0) 推荐(4) 编辑
摘要:前两天在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." 阅读全文
posted @ 2015-02-02 12:57 dudu 阅读(2069) 评论(0) 推荐(0) 编辑