开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 1968|回复: 7
打印 上一主题 下一主题
收起左侧

[易语言] 请教一个易语言关于内存管理的问题

[复制链接]
结帖率:0% (0/1)
跳转到指定楼层
楼主
发表于 2012-4-15 23:42:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式   贵州省安顺市
30精币
各位大牛,我刚接触易语言,对其还不太清楚,特请教各位高手几个问题。

  1. 一个是关于易语言当中的内存管理问题,我看了一些文档,似乎都没有提及对象的创建和销毁问题,那么,易语言当中是不能创建指针类型的对吗?也就是说,程序员无需,也无法自己管理内存,那么如果我创建一个对象,但是这个方法结束之后我不想销毁他,给其他方法销毁,这是不可能的对吧?这种情况我们只能创建一个全局对象?那么对象何时销毁?易语言有一个垃圾回收器????或者我们根本就不能在堆上分配内存?

  2. 既然易语言可以创建“指向子程序的指针”这种类型,那么我们是否可以理解为这是“函数指针”?如果可以,是否我们可以制作类似“函数指针表”的方式调用函数?就像这样:

  1. <font size="4"><span style="font-family: 新宋体;">/* function table */</span>
  2. <span style="font-family: 新宋体;">typedef struct _ftable{</span>
  3. <span style="font-family: 新宋体;">    int func_id;</span>
  4. <span style="font-family: 新宋体;">    char name[10];</span>
  5. <span style="font-family: 新宋体;">    double (*func)(double);</span>
  6. <span style="font-family: 新宋体;">}function_table;</span>

  7. <span style="font-family: 新宋体;">function_table func_tb[] = {</span>
  8. <span style="font-family: 新宋体;">    {0, "  sin", sin},</span>
  9. <span style="font-family: 新宋体;">    {1, "  cos", cos},</span>
  10. <span style="font-family: 新宋体;">    {2, "  tan", tan},</span>
  11. <span style="font-family: 新宋体;">    {3, "  log", log},</span>
  12. <span style="font-family: 新宋体;">    {4, "log10", log10},</span>
  13. <span style="font-family: 新宋体;">    {5, " sqrt", sqrt},</span>
  14. <span style="font-family: 新宋体;">    {6, "  exp", exp}</span>
  15. <span style="font-family: 新宋体;">};</span>

  16. <span style="font-family: 新宋体;">//调用时:</span>
  17. <span style="font-family: 新宋体;">result = func_tb[0].func(cal_num);</span>
  18. </font>
复制代码

  3. 我个人喜好在类中创建一个静态函数指针,用于在多线程中回调对象,易语言能否实现?就像这样:

class A{
public:

    static void callback_function(void *obj, char *inData); // obj就是A的对象
};

然后在其他某个地方处理完之后,回调A的
callback_function,让A自己处理后续事情。


这是不可能的吧?呵呵,三个问题,三十分吧!


回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值无答案申请取消悬赏投诉有答案未采纳为最佳
结帖率:0% (0/1)
沙发
 楼主| 发表于 2012-4-15 23:47:22 | 只看该作者   贵州省安顺市
帖子无法修改吗?中间那段代码是:
/* function table */
typedef struct _ftable{
    int func_id;
    char name[10];
    double (*func)(double);
}function_table;

function_table func_tb[] = {
    {0, "  sin", sin},
    {1, "  cos", cos},
    {2, "  tan", tan},
    {3, "  log", log},
    {4, "log10", log10},
    {5, " sqrt", sqrt},
    {6, "  exp", exp}
};
//调用时:
result = func_tb[0].func(cal_num);
回复

使用道具 举报

头像被屏蔽
结帖率:87% (13/15)
板凳
发表于 2012-4-15 23:48:03 | 只看该作者   广西壮族自治区玉林市
不懂  听得好玄乎  貌似楼主很强大的样子
回复

使用道具 举报

结帖率:100% (4/4)
地板
发表于 2012-4-16 00:07:04 | 只看该作者   湖南省益阳市
易 没有内存回收机制。这是在下一个版本中最为期待的了。
回复

使用道具 举报

结帖率:100% (3/3)
地下
发表于 2012-4-16 01:17:23 | 只看该作者   浙江省温州市
{:3_232:}我完全看不懂,千年顶了..
回复

使用道具 举报

结帖率:0% (0/1)
6
发表于 2012-4-16 06:54:52 | 只看该作者   山西省晋城市
快好了啊  呵呵
回复

使用道具 举报

结帖率:46% (6/13)
7
发表于 2012-4-16 08:21:19 | 只看该作者   安徽省马鞍山市
楼主强大呀{:3_227:}
回复

使用道具 举报

签到天数: 5 天

8
发表于 2025-3-4 19:41:36 | 只看该作者   河北省张家口市
千年 发表于 2012-4-16 00:07
易 没有内存回收机制。这是在下一个版本中最为期待的了。

现在5.95版本有了吗大佬,对易的内存管理很好奇
回复

使用道具 举报

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

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:[email protected]
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

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