不管“程序猿”的世界是多么的杂乱,首先来个 css 2.1规范>Box model>margin-properties. 关于外边距重叠(Collapsing margins),该规范给出了如下几个规则: ...
分类:
其他好文 时间:
2017-04-16 13:24:38
阅读次数:
165
使用C#调用mingw的so文件,拿视频数据回wpf的界面进行显示,注册了回调函数。C++在调用回调函数时遇到了委托被回收的问题,提示:“类型的已垃圾回收委托进行了回调。这可能会导致应用程序崩溃、损坏和数据丢失。向非托管代码传递委托时,托管应用程序必须让这些委托保持活动状态,直到确信不会再次调用它们 ...
分类:
编程语言 时间:
2017-04-04 23:39:48
阅读次数:
222
在.NET编程中,得益于有效的内存管理机制,对象的创建和使用比较方便,大多数情况下我们无须关心对象创建和分配内存的细节,也可以放心的把对象的清理交给自动垃圾回收来完成。由于.NET类库对系统底层对象进行了封装,我们也不需要调用Windows API来操作非托管对象。但不直接操作非托管对象,并不意味着 ...
python通过queue模块来提供线程间的通信机制,从而可以让线程分项数据。 个人感觉queue就是管程的概念 一个生产者消费者问题 输出结果: ...
分类:
编程语言 时间:
2016-12-22 00:27:54
阅读次数:
240
三、加载公共语言运行时 可分为五步: 第一步,Windows检查EXE头文件,决定创建32位还是64位进程。 第二步,在进程中加载MSCorEE.dll的对应版本(x86、x64或ARM)。 第三步,进程的主线程调用MSCorEE.dll的方法来初始化CLR。 第四步,CLR加载EXE程序集,再调用 ...
转载自:http://www.linuxidc.com/Linux/2012-10/72293.htm 机制介绍 有些时候主程序是通过C/C++实现的,但是我们希望通过托管代码来扩展非托管程序,从而也获得托管代码带来的一系列优点。比如开发效率高,自动垃圾回收等。 运行托管与非托管代码根本区别在于托管 ...
分类:
编程语言 时间:
2016-11-18 22:20:11
阅读次数:
406
C++手动加载CLR运行托管程序(CLR Hosting) 非原创,记录方便翻阅(另外一种调用方式为将托管dll封装成com) C++手动加载CLR运行托管程序(CLR Hosting) 非原创,记录方便翻阅(另外一种调用方式为将托管dll封装成com) 机制介绍 有些时候主程序是通过C/C++实现 ...
分类:
编程语言 时间:
2016-11-14 20:34:59
阅读次数:
2260
在了解重定位之前,必须先区分开链接地址和运行地址,位置有关代码和位置无关代码 链接地址和运行地址: 链接地址:指在链接时指定的地址,是我们设想的将来程序要运行的地址。程序中所有标号的地址在链接后便确定了,不管程序在哪运行,都不会改变。使用arm-linux-objdump反汇编查看的就是链接地址。 ...
分类:
其他好文 时间:
2016-10-02 15:02:57
阅读次数:
170
0x00 前言 在日常的工作中,我偶尔能遇到这样的问题:“为何游戏脚本在现在的游戏开发中变得不可或缺?”。那么这周我就写篇文章从游戏脚本聊起,分析一下游戏脚本因何出现,而mono又能提供怎样的脚本基础。最后会通过模拟Unity3D游戏引擎中的脚本功能,将Mono运行时嵌入到一个非托管(C/C++)程 ...
分类:
编程语言 时间:
2016-09-16 22:52:40
阅读次数:
270
管程的界说零碎中的各类硬件资本和软件资本,均可用数据构造笼统地描绘其资本特征,即用大批信息和对资本所履行的操作来表征该资本,而疏忽了它们的外部构造和完成细节。管程是由一组数据以及界说在这组数据之上的对这组数据的操作构成的软件模块,这组操作能初始化并改动管程..
分类:
其他好文 时间:
2016-08-29 13:15:29
阅读次数:
148