前言 让拖管代码对象和非托管对象协同工作的过程称为互用性(Interoperability),通常简称为 Interop. P/Invoke在托管代码与非托管代码交互式时产生一个事务(Transition),这通常发生在使用平台调用服务(Platfrom Invocation Services)即P/Invoke.允许托管代码调用平台(Platfrom)相关的非托管代码(c++.VB.Delphi....) Com Interop 一种服务,它使 .NET Framework 对象能够与 COM…
上章地址 什么是COM Component Object Model 组建对象模型 基于接口(Interface) 接口=协议 IID 标识接口 V-table 虚表 方式调用 单继承 对象(Object) 实现一个或者多个接口 举例:IDispatch接口 为什么要使用COM Interop 重用代码:使用.NET调用已有的COM组件,提高生产率:使用.NET编写COM组件 COM Interop基础概念 RCW:Runtime Callable Wrapper  .NET可调用COM组件的包…
上一章地址 API版本 具有字符串参数的API通常有两种版本 GetWindowText GetWindowTextA GetWindowTextW 缺省情况下CLR会自动寻找合适的匹配 CharSet=Ansi时寻找A版本 CharSet=Unicode寻找W版本 CharSet=Auto和平台相关 DLLImportAttribute(ExactSpelling=true)会关掉这种行为 Ref/Out参数 (C#关键字) out=[Out]& C#:out int a IL:[Out] i…
1..支持多语言..只是语言是面向CLR的..均可以在此基础上运行. 2..程序集加载..程序打包之后的Dll文件由CLR(公共语言运行库)来编译并加载到可以执行状态..由CLR(公共语言运行库)加载出来的程序是被监视的状态的..会跟踪程序执行的每一个节点..监视报错..监视每一个变量等等..这样的监视会损耗 10% 的性能..但是这的确是物有所值的..因为只有处于监视的状态下..CLR(公共语言运行库)才能做到以下的几点.. 3..内存分配..本来该由程序员来照顾到..并去处理的内存占用大小等…
公共语言运行库(.net运行库)即CLR 1.C#先编译为IL,IL为ms的中间语言,IL是平台无关性的. 2.CLR再将IL编译为平台专用语言. 3.CLR在编译IL时为即时编译(JIT) VB.VC++.VF均可编译为IL然后与C#进行交互…
Silverlight for Windows Phone开发系列课程(1):Windows Phone平台概况         课程简介:本节开始介绍系列课程的概况,包括课程内容,先决条件,学习目的和学习形式.接着通过真实设备的演示Windows Phone的新功能特点.然后讲述Windows Phone的硬件规范,软件架构和开发平台.最后讲述适合学习和开发Windows Phone应用的群体,以及给各种开发者的建议.http://www.apkbus.com/android-138873-1…
课程讲师: 赵劼 MSDN特邀讲师 赵劼(网名“老赵”.英文名“Jeffrey Zhao”,技术博客为http://jeffreyzhao.cnblogs.com),微软最有价值专家(ASP.NET MVP),MSDN特邀讲师.毕业于复旦大学软件学院,曾任职于微软中国研发中心,现任上海激动通信有限公司平台开发部经理,高级程序员.他有8年左右的 Web应用程序和5年左右的.NET应用程序开发经验,对于ASP.NET企业应用开发与客户端技术(DHTML.JavaScript.AJAX等)有较为深入的…
.NET Core 使用 CoreCLR .NET Framework 使用CLR. 1. 将代码编译为IL (Intermediate Language) 2. CLR 把IL 编译为平台专用的本地代码. IL 运行时, JIT(Just-In-Time) Compiler 编译IL代码, 创建特定于平台的本地代码.…
近期在Mac和iOS上做开发,认为应该写一点东西分享给感兴趣的童鞋们.在此之前.以前有非常多同行们都在埋怨苹果Objective-C的复杂和难以上手,为此也有非常多人对今年(2014年)刚推出的Swift抱有非常多幻想. 首先在现阶段甚至五年以内,我个人感觉Mac和iOS的开发能够说仍然离不开Objective-C,即便是应用级(非系统级)的开发,招聘iOS程序猿肯定还是看有没有扎实的Objective-C的功底.尽管苹果希望Swift能够代替Objective-C,但这一定是一个长期目标. 在…
作者:朱金灿 来源:http://blog.csdn.net/clever101 决心学习Makefile,一方面是为了解决编译开源代码时需要跨编译平台的问题(发现一些开源代码已经在使用VS2010开发,但我还没安装VS2010,我想在VS2008下编译这些代码):另一方面源码在服务器端编译的话,使用IDE的方式编译还是不太方便. 本文主要分为三部分:第一部分讲述namke工具使用makefile的用法:第二部分讲述makefile的主要语法:第三部分讲述自己动手实践学习写makefile文件.…