易语言是一个中文的编程语言。
易语言中编写程序主要依靠支持库中的命令,比如信息框。
现在的杀毒软件大部分还是特征杀毒。就是说取出病毒的一部分作为特征,如果其他文件符合这个特征就判定为病毒。
现在的问题就是有人用易语言写 病 毒,或者是钓鱼程序,结果杀毒软件把易语言的支持库当成特征码给获取了
最后只要你用了被杀毒软件当成病毒的支持库命令就会报毒比如注册热键命令写挂经常用,还有对注册表 *** 作之类的,都会被误报
易语言报毒解决方案如下:
1、用UPX或ASPACK压缩易语言自带的所有支持库。
2、编译易程序。如果非独立编译或用易语言自带的安装程序发布,可以将报毒机会减少。
3、将独立编译易程序用UPX或ASPACK压缩。注意,要保留额外数据。
4、通过以上方法,可以将报毒机会减少。
5、代价,可能会影响程序载入速度,但在现在流行配置的电脑中,几乎感觉不到差异。注意,压缩支持库前备份,如果某个支持库压缩后不能被易语言载入,可以用原备份文件还原。
1 使用整数和长整数
提高代码运行速度最简单的方法莫过于使用正确的数据类型了。也许你不相信,但是正确地选择数据类型可以大幅度提升代码的性能。在大多数情况下,程序员可以将短整数型、小数型和双精度小数型的变量替换为整数(Integer)或长整数(Long)类型的变量,因为易语言处理整数和长整数的能力远远高于处理其它几种数据类型。
在大多数情况下,程序员选择使用小数型或双精度小数型的原因是因为它们能够保存小数。但是小数也可以保存在整数类型的变量中。例如程序中约定有三位小数,那么只需要将保存在整数型变量中的数值除以1000就可以得到结果。根据我的经验,使用整数和长整数替代短整数型、小数型和双精度小数型后,代码的运行速度可以提高将近10倍。
但是我们也不要老是强调使用使用整数和长整数,因为在程序中数据类型的定义还牵涉一个关键的问题,就是数据的安全,频繁而无规范地定义 数据类型会使算法出现漏洞,是数据的安全和临界判断有问题对财务和工程计算而言,小数点的精度是很敏感的数据,只能用双精度数据来规范另外, 换成整型也会导致程序可读性急剧下降
2 避免使用通用型数据
通用型的变量需要16个字节的空间来保存数据,而一个整数(Integer)只需要2个字节。通常使用通用型变量的目的是为了减少设计的工作量和代码量,也有的程序员图个省事而使用它。但是如果一个软件经过了严格设计和按照规范编码的话,完全可以避免使用变体类型。
3 尽量避免使用属性
在平时的代码中,最常见的比较低效的代码就是在可以使用变量的情况下,反复使用属性(Property),尤其是在循环中。要知道存取变量的速度是存取属性的速度的20倍左右。下面这段代码是很多程序员在程序中会使用到的:
容器名: 数值 类型:整数型
容器名: 容器 类型:整数型
计次循环首(7,容器)
文本1内容 = 文本1内容 + #换行符 + 到文本((数值×容器))
计次循环尾()
下面这段代码的执行速度是上面代码的20倍。
容器名: 数值 类型:整数型
容器名: 容器 类型:整数型
容器名: 文本 类型:文本型
文本 = 文本1内容
计次循环首(7,容器)
文本 = 文本 + #换行符 + 到文本((数值×容器))
计次循环尾()
文本1内容 = 文本
另外要注意,这个涉及一个编程思路, 用属性当变量的作法大多数情况可以简化算法。所以有时候也不能一味强调用变量代替属性。
6 避免调用很短的子程序
调用只有几行代码的子程序也是不经济的--调用子程序所花费的时间或许比执行子程序中的代码需要更长的时间。在这种情况下,你可以把子程序中的代码拷贝到原来调用子程序的地方。 但是有时候小的子程序可能会被调用很多次而不是只有两三次,这时就应该调用它。
7 减少对子对象的引用
在易语言中,通过使用来实现对象的引用。例如: 窗口1编辑框1内容
在上面的例子中,程序引用了两个对象:窗口1和编辑框1。利用这种方法引用效率很低。但遗憾的是,没有办法可以避免它。我的“多媒体模块”就有这个缺点。
8 检查文本型数据是否为空
大多数易语言用户在检查文本型数据是否为空时会使用下面的方法: 如果 (文本1内容 = "" ) 注释: 执行 *** 作 结束如果
很不幸,进行字符串比较需要的处理量甚至比读取属性还要大。因此我建议大家使用下面的方法: 如果 (到数值(文本1内容) = 0 ) 注释: 执行 *** 作 结束如果 另一个不同的意见是:问题在于当文本字串为 "ABC"之类的非数值型时, 到数值("ABC")=0并不表示为空。文本比较的效率并不低,在底层算法中,一般会直接比较长度才会继续比较内容。
9 使用数组,而不是多个变量
当你有多个保存类似数据的变量时,可以考虑将他们用一个数组代替。在易语言中,数组是最高效的数据结构之一。
10 尽量使用动态数组,而不是静态数组
使用动态数组对代码的执行速度不会产生太大的影响,但是在某些情况下可以节约大量的资源。
11 销毁对象
无论编写的是什么软件,程序员都需要考虑在用户决定终止软件运行后释放软件占用的内存空间。但遗憾的是很多用户对这一点好像并不是很在意。正确的做法是在退出程序前需要销毁程序中使用的对象。例如:关闭数据库:关闭(数据库名称)、全部关闭(),关闭打开(播放)的文件,关闭载入的等。 中止程序执行时应该要关闭打开的文件(包括数据库文件、文件等),但是窗口销毁对销毁窗口及窗口单元来说是自动的,已足够做释放用,在窗口内最好不要随意销毁窗口单元,可能会导致程序运行中的潜在的单元数据访问而崩溃只有在图形buffer情况才需要经常销毁。
12 尽量使用内部子程序,减少易模块的数量 因为从易语言连接到一个外部对象需要耗费大量的CPU处理能力。每当你调用接口函数的时候,都会浪费大量的系统资源。 另外只有在易模块中的接口函数或变量被调用时,易语言才将易模块加载到内存中;当易语言应用程序退出时,才会从内存中卸载这些模块。如果代码中只有一个模块,易语言就只会进行一次加载 *** 作,这样代码的效率就得到了提高;反之如果代码中有多个模块,易语言会进行多次加载 *** 作,代码的效率会降低。
13 使用对象数组
当设计用户界面时,对于同样类型的控件,程序员应该尽量使用对象数组。你可以做一个实验:在窗口上添加100个框,每个框都有不同的名称,运行程序。然后创建一个新的工程,同样在窗口上添加100个框,不过这一次使用对象数组,运行程序,你可以注意到两个程序加载时间上的差别。 也有人认为两者从逻辑上看效率应该差不多。
14 使用窗口单元“移动”方法
在改变对象的位置时,有些用户喜欢使用“宽度”、“高度”、“顶边”和“左边”属性。例如: 按钮1宽度 = 100 按钮1高度 = 100 按钮1顶边 = 0 按钮1左边 = 0
实际上这样做效率很低,因为程序修改了四个属性,而且每次修改之后,窗口都会被重绘。正确的做法是使用Move方法: 按钮1移动(0,0,100,100)
15 减少的使用
将占用大量内存,而且处理也需要占用很多CPU资源。在软件中,如果可能的话,可以考虑用背景色来替代--当然这只是从技术人员的角度出发看这个问题。 但是如果为了优化程序界面,使用图形换来的好处可能远胜节约下的资源,否则就不会有XP,也不会有游戏的进步了。
16 编译优化 易语言的程序编译有三个选项:“编译”、“独立编译”、“编译生成安装软件”。优先使用的次序应该是“编译生成安装软件”、“编译”、“独立编译”,因为“独立编译”会将易语言系统中所有的支持库都编译进去,而“编译生成安装软件”只选择程序中必要的支持库编译。要脱离易语言环境也可以运行,就不要使用“编译”而应用“编译生成安装软件”或“独立编译”。
总结:执行效率和程序可读性永远是对矛盾 ,两者应该通盘考虑;资源占用和程序易用性永远是对矛盾,两者也应该通盘考虑。
基于此,下面探讨一些提高程序的效率的规则。
规则1不要一味地追求程序的效率,应当在满足正确性、可靠性、健壮性、可读性等质量因素的前提下,设法提高程序的效率。
规则2以提高程序的全局效率为主,提高局部效率为辅。
规则3在优化程序的效率时,应当先找出限制效率的“瓶颈”,不要在无关紧要之处优化。
规则4先优化数据结构和算法,再优化执行代码。先考虑某功能是否可以用函数(命令)来实现,如果找不到这样的函数,再考虑用其他代码实现。
规则5有时候时间效率和空间效率可能对立,此时应当分析那个更重要,作出适当的折衷。例如多花费一些内存来提高性能。
规则6不要在什么时候都只追求紧凑的代码,因为紧凑的代码并不能产生高效的机器码。
易语言是一门计算机编程语言。以“易”著称,以中文作为程序代码表达的语言形式。易语言的创始人是吴涛。早期版本的名字为E语言。易语言最早的版本的发布可追溯至2000年9月11日。创造易语言的初衷是进行用中文来编写程序的实践。从2000年至今,易语言已经发展到一定的规模,功能上、用户数量上都十分可观。2015年计划推出移动版编程工具,用于编译安卓系统手机APP!
优缺点
语言优点
易语言功能强大实用,现已具有数十个各种应用范围支持库、上百个数据类型和界面组件、近万条支持命令,支持现今所有数据库,功能丝毫不比其它同类产品差。模块化开发支持大型软件项目的分工协作,易语言中的模块称为易模块。通过使用易模块,用户可以将常用的代码封装起来重复使用到其它程序,或提供给第三方使用,或用作开发大型软件项目中的某个部分,然后在软件项目的封装阶段将所有这些模块组织编译成为一个完整程序。
易语言系统全部自行设计开发。自有编译器。所编译目的程序运行速度快,且没有安全隐患。自带小型数据库,减少开发项目投入成本,且容易学习。跨 *** 作系统平台编程。同时支持Windows和Linux程序开发。中文本地化支持。支持中文格式日期和时间处理、汉字发音处理、全半角字符处理、人民币金额处理、农历日期转换等。
易语言自带的即时帮助系统,在易语言使用者有问题时,轻轻一点,立刻可以得到与当前主题相关的详细帮助。易语言的帮助文档众多,内有大量知识库及开发资料。易语言的例程众多,可以在资源网、大赛展区、论坛上搜索到。易语言爱好者交流论坛,上面已有数万名注册用户。易语言使用者可以将自己在使用过程中所遇到的问题提出,专家会以最快的速度答复。通过论坛搜索功能,也可得到需要的答案。通过易语言的图书,教学片,多媒体教学光盘等。易语言自带的即时帮助系统,在易语言使用者有问题时,轻松一点,立刻可以得到与当前主题相关的详细帮助。
语法格式自动检查。自动检查并提示所输入语句的语法格式是否正确,且可自动添加各类名称。全程提示与帮助。鼠标停留立即显示相关项目提示。编程时提示语法格式,调试时提示变量当前内容,随时按下F1键可得到与当前主题相关详细帮助等。名称自动管理。用户修改任一名称定义,其它所有包含该名称的程序代码均自动修正。集成化开发环境。集界面设计、代码编写、调试分析、编译打包等于一体。
语言缺点
易语言是收费软件。虽然有一些编程的软件需要注册后使用,但是其收费方式与其它编译软件不同,易语言必须注册后才可编译出程序,否则只可在编译中调试。(如右图)
收费后编译
官方注册版就达到了618元(企业加密版)。
虽然如此,但是易语言50正式版已经支持了静态编译,被误报的可能性减小,而且编译的文件大小也大大缩小!
另外,由于易语言程序的运行方式存在特殊性,单个空白程序就达到400~500KB,当前易语言拓展插件:斩月,黑月的一些模块可以把易语言编译的程序缩小,缩小后的空白程序仅为10Kb左右。易语言编写的程序被许多杀毒软件的高级启发式技术误报为病毒,甚至一个不包含任何代码的空白程序都会被一些杀毒软件识别为木马。至今,有关各方都在积极解决这个问题,但是截止目前(2014年7月),误报问题仍然存在。
关于易语言误报问题,实践证明:并非易语言生成出来的程序容易误报,VB单独生成的空窗口也报毒,C++也同样出现误报现象。
当然,也有一些不正当利用易语言编写的程序例如:盗号,木马,键盘监控的程序,然后寻求解除误报的方法,这样是没用的,程序本身就存在危害,报毒也属于正常现象。
ywlk 文件扩展名通常与易语言程序相关联,易语言是一个基于 Windows 平台的编程语言和集成开发环境 (IDE),用于开发 Windows 应用程序。因此,要打开 ywlk 文件,需要安装易语言开发环境。
易语言发布包通常包括易语言 IDE 和运行时库。您可以在下载易语言 IDE 后,通过打开 IDE 来运行 ywlk 文件。打开 IDE 后,使用“文件”菜单下的“打开”选项,然后找到 ywlk 文件并打开。此时 IDE 会加载并运行 ywlk 文件中的代码,并显示相应的窗口和控件等。
请注意,ywlk 文件只能在易语言 IDE 中运行。如果您没有安装易语言,或者不打算运行 ywlk 文件中的代码,可以不必打开这个文件,直接在 Windows 文件资源管理器中右键单击该文件,然后选择“删除”或“移动到垃圾箱”等选项进行删除。但是,如果您需要对 ywlk 文件中的代码进行编辑和调试等 *** 作,则必须打开易语言 IDE。
以上就是关于什么叫易语言程序全部的内容,包括:什么叫易语言程序、易语言报毒怎么解决、如何在易语言中写程序代码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)