自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 mono嵌入式应用研究(四):Assemly的加载与执行

c#的Assemly一般有exe和dll两种文件后缀,其实都差不多,通过mono_domain_assembly_open这个API将Assemly加载进来,加载的时候如果给定的路径不能直接加载,会通过设置好的Assemly查找路径去查找。Assemly的加载需要给定一个AppDomain,加载进来后只在这个AppDomain可用。执行的话有两种方式:一种是使用int mono_jit_e

2016-04-05 15:02:19 4195 1

原创 mono嵌入式应用研究(三):注册内部函数

说到mono的嵌入式开发,最关键的要属内部函数了,mono通过扩展CIL指令集,使c#可以调用native端注册的内部函数,这个也是mono虚拟机实现的基础。内部函数的注册使用API mono_add_internal_call,具体如下:mono_add_internal_call("DOSSystem.Logger::InternalLog(uint,string)", (void *

2016-04-05 11:34:52 1970

原创 mono嵌入式应用研究(二):虚拟机的初始化

mono本身是用ASNI C开发的,所以mono的使用也就是调用一堆API,mono使用的句柄和类型对外开放时都被隐藏了,比如MonoClass、MonoObject,对外声明的都只是空结构指针,mono的API返回的对象,类型相关的比如MonoClass、MonoClassField是跟随Assembly存在的,不需要自己释放。获得一些托管代码的对象,比如MonoObject、MonoStrin

2016-04-05 10:20:40 2624

原创 mono嵌入式应用研究(一):编译

要使用mono首先得把它编译起来,当然也可以直接使用mono官网放出的发行包。mono的编译主要分windows和linux两个平台,其他的像IOS和Android,因为我主要是用在服务器开发上,所以没去研究。Linux下编译mono比较简单,按照官方文档提供的步骤操作就行了,要注意的是你首先要安装一个mono的runtime,主要是编译类库需要,编译mono你首先需要有个编译好的mono,真

2016-03-09 14:50:18 3364

原创 mono嵌入式应用研究

我接触mono是在2012年,当时正和一位朋友聊起他做的服务器开发框架,他在开发框架里加入了python和javascript的嵌入式支持,其实也谈起了mono这个第三方的c#虚拟机。我自己也有维护一套服务器开发框架,是用c++开发的,主要是插件式的开发方式,应用逻辑做成插件,在容器中运行,容器负责网络通讯等底层处理,如果可以使用lua、javascript、c#等来开发逻辑插件,将可以大大降

2016-03-08 21:54:56 898

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除