设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
楼主: 柳之一
打印 上一主题 下一主题

[原创发布] 快速存储Bitmap的Marshal(高难度API,不解释)

 关闭 [复制链接]

Lv1.梦旅人

风之塞尔达

梦石
0
星屑
50
在线时间
57 小时
注册时间
2005-10-22
帖子
2492

贵宾

1
发表于 2008-5-28 05:56:13 | 显示全部楼层
哈`~!   来的正好   问lz一个问题(我基本卡死这地方了...):

一个指向 C++ 类的指针如何能被 ruby的Data_Wrap_Struct转换成VALUE?
其实不一定要Data_Wrap_Struct 只要能够被ruby保存就好

我建立了一个C的结构体保存C++类的指针, 然后把C结构体拿来Data_Wrap_Struct也会出错
不知道具体要怎么做...

typedef struct _holdCXXPTR{
    VALUE klass;
    void* pData;     // 保存C++PTR的, 本来想通过保存C结构体来保存C++类指针...
    ... ...
}HOLDCXXPTR;
在程序里延续塞尔达的传说, 在画板上勾勒塞尔达的轮廓!!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

风之塞尔达

梦石
0
星屑
50
在线时间
57 小时
注册时间
2005-10-22
帖子
2492

贵宾

2
发表于 2008-5-28 06:22:01 | 显示全部楼层
直接把SWIG那些宏拷过来用了。。。
在程序里延续塞尔达的传说, 在画板上勾勒塞尔达的轮廓!!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

风之塞尔达

梦石
0
星屑
50
在线时间
57 小时
注册时间
2005-10-22
帖子
2492

贵宾

3
发表于 2008-8-9 20:09:57 | 显示全部楼层
我一直很好奇  
我觉得  最关键是lz最早是怎么得到bitmap的图像数据是保存在Bitmap实例内存首地址偏移这么多的量之后的内存地址中的
在程序里延续塞尔达的传说, 在画板上勾勒塞尔达的轮廓!!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

风之塞尔达

梦石
0
星屑
50
在线时间
57 小时
注册时间
2005-10-22
帖子
2492

贵宾

4
发表于 2008-8-9 20:25:15 | 显示全部楼层
{/ll}  你不会是那个程序员吧~~~
哎  劫狱去...{/hx}
在程序里延续塞尔达的传说, 在画板上勾勒塞尔达的轮廓!!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

风之塞尔达

梦石
0
星屑
50
在线时间
57 小时
注册时间
2005-10-22
帖子
2492

贵宾

5
发表于 2008-8-10 04:02:37 | 显示全部楼层
ls...  写了这么长... 没说到我想要的{/dk}
在程序里延续塞尔达的传说, 在画板上勾勒塞尔达的轮廓!!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

风之塞尔达

梦石
0
星屑
50
在线时间
57 小时
注册时间
2005-10-22
帖子
2492

贵宾

6
发表于 2008-8-10 10:50:02 | 显示全部楼层
半夜睡不着, 爬上来研究这个脚本果然很有催眠效果{/gg}
lz会写这个脚本, 应该可以自己DIY  ruby了吧?
以下引用沉影不器于2008-8-9 22:26:18的发言:object_id * 2 + 16<---这个楼主很早就说明了在ruby资源文件里头说的
这脚本的伟大还在于真的需要了解到很多内部类的构成啊啊啊...

不会就是rb_obj_id 函数体里那段注释吧?  没看出来和object_id*2有什么关系{/gg}
到现在也没看懂 ruby的对象的self和他对应的C结构体指针怎么算...
找到对应函数, 看不懂里面过程{/gg}
在程序里延续塞尔达的传说, 在画板上勾勒塞尔达的轮廓!!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-6-10 15:50

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表