摘要: 背景:我们的项目是一个三维gis的CS系统,底层用c++ 封装com控件供上层c#调用,C++ 项目有20+个,C#项目也有20+个;vs2010 单独rebuild C++项目需要半个小时左右(用分布式编译需要5分钟左右,现在基本都采用分布式编译),而c#项目不到一分钟。今天有个同事问我为什么C++ 和 C#编译速度差别这么大? 注:推荐一款分布式编译软件 Incredibuild,安装的人越多,编译越快。 我的解释如下,有不对的地方欢迎补充指正:1、C#是把代码先编译为IL语言,而在运行时有CLR转换为平台专用代码;而C++是直接编译为内部机器可执行代码。2、IL语言是即时编译的(JIT编 阅读全文
posted @ 2013-10-25 16:26 —木木鱼— 阅读(805) 评论(0) 推荐(0) 编辑
摘要: 一:在.net4.0之前,我们需要一个方法返回多个参数,通常用以下几种方式: 1、全局变量 2、out 、 ref 变量 3、定义类或结构体,把需要反回参数封装成属性二:.net4.0新增的Tuple类,可以方便的解决这个问题: Tuple类,它代表一个有序的N元组。所谓元组,其实就是“数值对”,比如以下就是一个4元组:(1,2.1,"stringTest",new object()),可以调用Tuple.Create静态方法或使用new 关键字直接创建一个Tuple对象。 .net 类库中定义了拥有1-7个泛型参数的泛型Tuple.使用Tuple对象作为方法返回值,可以很 阅读全文
posted @ 2013-10-07 21:57 —木木鱼— 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 项目开发中常类库及工具一:类库1、log4net 一个好的应用系统离不开log文件的支持,所以log文件的处理在应用系统的开发过程中是占很大比重的。 log4net是一个辅助应用系统输出多种样式log信息的日志框架,它是著名的log4j框架在.net环境下的实现 。 2、devExpress 能够定制不同皮肤的winform界面库。 3、SharpDevelop 插件开发框架。通过xml配置文件定制不同需求的项目。二:工具 1、Windbg c#资源、内存泄露的调试利器。 2、Reflector 是一款强大的反编译工具.使用它你可以方便的查看一些组件的源代码. 3、ReSharper ... 阅读全文
posted @ 2013-09-29 17:24 —木木鱼— 阅读(567) 评论(2) 推荐(0) 编辑