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

Project1

 找回密码
 注册会员
搜索
12
返回列表 发新帖
楼主: 晴兰
打印 上一主题 下一主题

[讨论] 抛砖,使用C做RM的扩展(并非C#那个贴的原理或者普通DLL)

[复制链接]

Lv2.观梦者

狂気の月兔

梦石
0
星屑
256
在线时间
1245 小时
注册时间
2009-4-7
帖子
879

贵宾

11
发表于 2013-11-22 12:41:21 | 只看该作者
vince3725 发表于 2013-11-22 00:15
用C#,C++ 做RM插件是个不错的想法。。

很多大大们都在做这些东西了吧.

利用 C++ 的一些库来扩充 RM 所没有的功能就是很不错的注意.

就比如咱之前正在做的 RM  DirectX 计划, 虽然各方面都不足, 不过至少还能用.(推销, 泥垢了)

点评

音频 啊 视频 啊那个 Filter 好麻烦. 不过用 DLL Update 这个倒是没想过. 主要是对 Ruby 深层的东西不是太懂.  发表于 2013-11-23 10:33
其实DX啊音频啊神马的我还是只能仰望大大们的工程,兰兰这个帖子的要实现的是比DLL更细粒度的互相调用  发表于 2013-11-22 20:40
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv2.观梦者 (禁止发言)

梦石
0
星屑
653
在线时间
3774 小时
注册时间
2011-2-26
帖子
1839

开拓者

12
 楼主| 发表于 2013-11-23 13:36:05 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
357
在线时间
1292 小时
注册时间
2013-1-12
帖子
3590

贵宾

13
发表于 2013-11-23 13:38:36 | 只看该作者
圍觀各種大觸的聊天.........
我還是乖乖去畫立繪吧

回复 支持 反对

使用道具 举报

Lv2.观梦者

狂気の月兔

梦石
0
星屑
256
在线时间
1245 小时
注册时间
2009-4-7
帖子
879

贵宾

14
发表于 2013-11-23 13:57:02 | 只看该作者
76213585 发表于 2013-11-23 13:38
圍觀各種大觸的聊天.........
我還是乖乖去畫立繪吧

围观大触的立绘, 我还是乖乖的去学赛璐璐好了.
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3570
在线时间
3064 小时
注册时间
2011-11-17
帖子
980
15
发表于 2013-11-23 15:17:02 | 只看该作者
完全超出战斗力了 对RUBY底层没了解过 一直认为这种把字符串转成可执行代码 涉及到编译 解释器这种大触的玩物了
不过发现例子里一个无关紧要的小BUG  int *ed = argv + argc, ret = 0;  ret写成int*类型了
总体来看 就是RUBY调C函数 C函数里返回个ruby风格代码的字符串 然后RUBY把那字符串解析成代码 再执行
后来觉得 为何不在C里面按C风格写代码 如果返回类型是类似float这样 RUBY不支持的 就返回个字符串 然后让ruby解析字符串 得到要的结果
我开始认为这2种方式得到的效果应该差不多 不过效率应该第二种高
后来想到了很多事情用RUBY做很方便 用C做烦死 好比Marshal 于是乎这确实是有可行性的方案 有时间研究下

点评

如果没有一开始就分配很大快内存 直接地址+8 貌似很不严谨啊 毕竟malloc新的东西 可能会概率用到那片内存的 但修改次数不确定 又无法直接分配合...  发表于 2013-11-23 22:12
如果能固定这个地址,那么地址+8也是常数,对常数地址写入double又更快一些。但没法在dll编译时就确定这个地址,只能是rgss运行起来以后,调用之前的这个时机,因此我说这种是比dll的编译和动态链接还晚的极晚绑定   发表于 2013-11-23 21:35
更快的办法是。。一开始固定一个浮点作为返回值。。每次修改时把新值double写到它的地址+8那个double去 虽然有点黑科技的意思了 但不用各种封包解包   发表于 2013-11-23 21:27
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv2.观梦者 (禁止发言)

梦石
0
星屑
653
在线时间
3774 小时
注册时间
2011-2-26
帖子
1839

开拓者

16
 楼主| 发表于 2013-11-23 15:29:50 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9280
在线时间
2504 小时
注册时间
2011-5-20
帖子
15389

开拓者

17
发表于 2013-11-23 16:36:37 | 只看该作者
  1. 混用出了BUG你就2了
复制代码

点评

照此推论,不2的方式是使用RM2K3和以前的版本。  发表于 2013-11-23 16:54
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-9-30 19:33

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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