沉默流星 发表于 2025-6-22 08:46:54

易语言子程序指针与火山视窗的关系

缘起:   因之前没有学习过易语言,导致很多易语言独有的特点,在火山中是如何对应的展示的不够清晰。
   这里可能会有人反驳我“没有学习易语言,简单学习下就能掌握,又费不了多长时间”,并且火山有专门写“从易语言到火山视窗教程”官方文档。
    这里说下这个官方文档,虽然有写易语言与火山的差异性,但描述的不够清晰,这篇文章站的角度是会易语言的基础上展开的。
   举例:局部变量、程序集变量、全局变量,这这几个都支持数组,那么官方文档中是这样描述的。描述如下:
那么这个易语言数组是局部变量数组和程序集变量、全局变量等数组是否一样,文档中没有描述。那么从这点就可以知道文档是从会易语言的角度讲如何过渡到火山视窗中去。对于不会易语言的则迷茫。



static/image/hrline/line2.png



举例子程序指针

      

         
可以看到文档描述的并不详细,让阅读的人似懂非懂。感觉明白了又感觉没明白。

static/image/hrline/1.gif
下面根据我所学易语言的理解来写子程序指针与火山视窗的关系。
注意:前面我交代过我之前并不懂易语言,易语言还没学完,2025年6月22日只学了一点。
那么可能有人又会问我了,都会火山视窗了,再回去学易语言不是开倒车嘛?
答:易语言中有很多精品开源的易语言项目,哪些开源项目能让人更好的学习开发思路,火山视窗中虽然也有官方例子,但不成体系。通过学习易语言可以移植开源代码到火山视窗中去,之前我也在论坛上发表过帖子,但大部分回答是翻译移植易语言代码到火山视窗中毫无意义,但我个人理解不是没有意义,只是人站的角度不同而已。

static/image/hrline/1.gif
因本人技术有限,如有描述不对的地方,请专家斧正。


火山视窗中表达形式代码如下:

易语言如何调用呢?


火山视窗调用方式


static/image/hrline/1.gif
目前只学到这个地方,如学完会继续更新,当人如果哪位大佬愿意补充鄙人是欢迎的。

创世魂 发表于 2025-6-22 09:09:26

那个文档本来就是给会易语言的用户准备的,不会易语言的也不需要看那个。

2767944492 发表于 2025-6-22 10:37:46

创世魂 发表于 2025-6-22 09:09
那个文档本来就是给会易语言的用户准备的,不会易语言的也不需要看那个。 ...

他觉得火山源码太少了,想学点易语言看精易的资源

乐易论坛 发表于 2025-6-22 14:44:31

取静态方法地址 其实就是 &   易语言中 是没有办法 直接用子程序的名字... 必须要加个& 才能用

67564226 发表于 2025-6-22 15:02:33

我是不太适应类编程, :噜阿噜:噜阿噜:噜阿噜   现在免强会了,但在快速开发上,还是不如易方便,来得快
其它都差不多. 就是有些模式方面比易的积累还是差太多太多了.

server 发表于 2025-6-22 21:20:48

就是一个基础整数数据类型用于储存函数所在内存的地址

不论是易语言还是火山还是其他语言都是使用call来调用这个指针。

区别在于有参数的指针在call之前需要push参数入栈,否则不平衡会报错。

我讲清楚了没有?

server 发表于 2025-6-22 21:23:08

server 发表于 2025-6-22 21:20
就是一个基础整数数据类型用于储存函数所在内存的地址

不论是易语言还是火山还是其他语言都是使用call来调 ...

还有ret0实际上就是没有参数。
如果参数有一个整形。即4字节,
最后ret 4;
我讲清楚了没有?

server 发表于 2025-6-22 21:24:09

server 发表于 2025-6-22 21:23
还有ret0实际上就是没有参数。
如果参数有一个整形。即4字节,
最后ret 4;


真的return返回值 实际上储存在eax。
我讲清楚了没有?
页: [1]
查看完整版本: 易语言子程序指针与火山视窗的关系