摘要: 研究一个东西遇到gcnew这个关键词,mark一下!new和gcnew的区别。C++/CLI中使用gcnew关键字表示在托管堆上分配内存,并且为了与以前的指针区分,用^来替换* ,就语义上来说他们的区别大致如下: 1. gcnew返回的是一个句柄(Handle),而new返回的是实际的内存地址. 2. gcnew创建的对象由虚拟机托管,而new创建的对象必须自己来管理和释放.思路有点混乱了,休整一夜,明天继续!女朋友睡得很早,很香!我听着歌看资料,感觉太幸福了,好好努力! 阅读全文
posted @ 2012-12-03 23:50 songtzu 阅读(183) 评论(0) 推荐(0) 编辑
摘要: C# 调用C++的dll,通过DllImport方式。以下例子包含以下几种参数传递方式:传递string、Int、Int数组、结构体、结构体数组。比较懒,没写注释,呵呵,各位辛苦了。demo在这里C++ Dll 如下:?// dllmain.cpp : Defines the entry point for the DLL application.#include "stdafx.h"#include <stdio.h>#include <tchar.h>BOOLAPIENTRY DllMain( HMODULEhModule,DWORDul_rea 阅读全文
posted @ 2012-12-03 14:29 songtzu 阅读(324) 评论(0) 推荐(0) 编辑
摘要: DllImport是System.Runtime.InteropServices命名空间下的一个属性类,其功能是提供从非托管DLL导出的函数的必要调用信息。 DllImport属性应用于方法,要求最少要提供包含入口点的dll的名称。DllImport的定义如下: [AttributeUsage(AttributeTargets.Method)] public class DllImportAttribute: System.Attribute { public DllImportAttribute(string dllName) {…} //定位参数为... 阅读全文
posted @ 2012-12-03 14:22 songtzu 阅读(334) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2012-12-03 14:22 songtzu 阅读(2) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2012-12-03 14:22 songtzu 阅读(1) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2012-12-03 14:22 songtzu 阅读(0) 评论(0) 推荐(0) 编辑