今天第一次使用了易语言,把经过和感受写下来
打开一个例子程序
选择 程序|独立编译
跳出个对话框说>>>
很抱歉,只有在企业版中才支持编译程序及制作安装软件。
易语言编译的EXE文件短小精悍,请见易系统目录中的“tools/egrid.exe”文件
,此为易程序“samples/易之表.e”编译后的结果。
<<<
跑到目录tools下去看那个egrid.exe,靠,果然很小,只有51.0 KB
想想罗云彬的那个卡通小闹钟也有49.0 KB,实在是匪夷所思。
然回去在目录samples下找到egrid.exe的源文件----易之表.e
大小竟然有55.1 KB,比egrid.exe还大一些
我想总该有个支持库吧,就像vb那样
用Visual Studio 6.0带的工具Depends查看egrid.exe,只引用了三个动态连接库
USER32.DLL
KERNEL32.DLL
ADVAPI32.DLL
都是windows自己的动态库
不会吧,这么神奇?想想,会不会是程序中用LoadLibrary显式加载的呢?
在一台没有安装易语言的机器上运行,跳出如下对话框>>>
未找到核心支持库或核心支持库文件已被损坏!
<<<
果然,用了支持库。
然后,就想找到这个支持库,看看到底有多大,system32下面找了半天没有找到
,想想该不会是就在易语言的安装目录下边吧,发现一个叫lib的目录,可是里面
没有找到任何.dll啊,有的都是一些扩展名为.fne和.run的文件,这是些什么东
西呢?UltraEdit-32打开,好熟悉的一句话
This program cannot be run in DOS mode
明显是可执行的代码
呵呵,原来是这样啊,换了个扩展名装模作样
给lib目录换个名字,再运行egrid.exe
哈哈,又说“未找到核心支持库或核心支持库文件已被损坏!”了
好赖皮啊,这也要吹“短小精悍”?
可是随即一想,那mfc不也带个大大的支持库吗?看起来比易语言也强不到哪去
于是挺郁闷的,再想想,嗯,还是有区别的
C++的库也是用C++写的,而易语言的这个库却不是用易语言而是用C++写成的。
这就是最大的差别,也是C++和java,C#/vb.net,vb6最大的差别
它们的虚拟机无法用自身来编写,必须依靠C/C++,唉,我越来越喜欢C++了。
易语言的给我最深刻的印象就是
1.标识符,语句都是汉字
2.程序看起来像流程图
汉字的标识符,语句对我是别扭了点,但,或许习惯之后也不错
至于程序看起来像流程图,也不完全是
至少语句主要还是依靠汉字而不是图形来表达含义的
同那种可以直接以箱图的形式来表达控制流程的开发工具还是有明显区别的
几乎可以说是比vb还要vb,真不知道这是优点还是致命的弱点。
哦,还有,易语言的源文件显然不是人能读懂的普通文本格式,这样一定能免除
许多语法分析的苦恼吧,依靠程序编辑时候执行的语法检查的确可以部分代替语
法分析的作用,想必易语言的源文件的内容已经很接近最后的可执行文件了,编
译的唯一作用就是加上一个可执行的外壳,然后这个外壳再加载支持库,由支持
库中的代码来解释执行作为资源存在于可执行文件中的易语言编译之后生成的代
码(也是基于堆栈的p-code么?)。