当前位置:首页 » 编程软件 » 能否用易语言实现编译器

能否用易语言实现编译器

发布时间: 2022-03-01 21:19:23

❶ 用易语言编译程序用哪种编译方式多好

静态编译和独立编译不一样吗?如果按易语言的版本来判断是静态编译比较好,但是我觉得独立编译比较稳定。

❷ 易语言编译器把易语言代码编译成了什么

最终肯定编译成机器码了。
用查壳工具发现易语言生成的PE文件编译器为VC6.0,个人推断易语言可能是在VC上架了一层,最终可能仍然是经由VC的编译器进行编译,可能是从易语言到C++,到汇编,再到机器码,仅仅是个人推断,仅供参考

❸ 易语言的编译器是重新开发的吗 ,还是说只是把中文代码替换下而已呢

楼主,您好!易语言的编译器编译时不是重新开发。
简单讲,易语言的编译器功能就是将易语言程序翻译为“机器语言(低级语言)”的程序。一般编译出的源程序仅仅是源代码,并不是操作系统可直接运行的程序,必须经过编译才能够称为操作系统可执行程序。编译器可以生成用来在与编译器本身所在的计算机和操作系统(平台)相同的环境下运行的目标代码,这种编译器又叫做“本地”编译器。另外,编译器也可以生成用来在其它平台上运行的目标代码,这种编译器又叫做交叉编译器。

❹ 求易语言编译器

别找编译器了,直接下个破解版的E,就都解决了!我现在用的就是破解版的,能正常编译!很好很强大!是由雪风破解的!5.1版!

❺ 易语言怎么调用c语言编译器来运行程序代码 ! 急!谢谢回答者!说详细些

如果易语言编译器容许您,那么就是可以的,例如keilc51编译器和常用调试arm裸机程序,是可以在c语言语句中加入汇编语言。

由于本人不了解易语言,无法确定其编译器是否可以编译c,但估计是不行。

那么说回来,如果这样,程序就没法写了。实际大家是怎么做的呢。通常做法是将c语言程序编译成dll文件,也就是我们所谓的库文件。然后就可以实现调用了。这种文件我们经常会在常见的程序中看到,原因就是代码保密性好,并且更新很方便,关键在于可以多种语言交互。

当然了,也可以吧所谓的易语言封装成dll,被c调用,当然如果他有这项功能的话。

如果一个c语言已经编译成可执行程序了,比如exe文件,那么易语言端应与c语言端进行进程通信,方可实现数据交互。那么进程通信就有多种方式,那么就不赘述了。

说下DLL的封装,如果是c语言我们需要加入dll.h

dll.h中放入以下语句

#ifndef_DLL_H_
#define_DLL_H_
#ifBUILDING_DLL
#defineDLLIMPORT__declspec(dllexport)
#else/*NotBUILDING_DLL*/
#defineDLLIMPORT__declspec(dllimport)
#endif/*NotBUILDING_DLL*/
DLLIMPORTvoidHelloWorld(void);
#include"func.h"
#endif/*_DLL_H_*/
程序中的,DLLIMPORTvoidHelloWorld(void);,#include"func.h"是例子,就是放你书写的用c写的函数声明的地方。
而在你c语言原先放主函数的那个文件中应该写入以下内容
/*Replace"dll.h"withthenameofyourheader*/
#include"dll.h"
#include<windows.h>
#include<stdio.h>
#include<stdlib.h>
BOOLAPIENTRYDllMain(HINSTANCEhInst/*Libraryinstancehandle.*/,
DWORDreason/*.*/,
LPVOIDreserved/*Notused.*/)
{
switch(reason)
{
caseDLL_PROCESS_ATTACH:
break;
caseDLL_PROCESS_DETACH:
break;
caseDLL_THREAD_ATTACH:
break;
caseDLL_THREAD_DETACH:
break;
}
/*ReturnsTRUEonsuccess,FALSEonfailure*/
returnTRUE;
}

我们看见有很多case,也有很多传入参数,最初可以不用管它,也可以使用。如需详细配置,应自行梳理再做决定。

另外一点,对于高级语言和c语言清理现场的问题,也就是被调用函数结束后由被调用函数清理栈,还是由下一个被执行函数清理上一个函数的栈,这点很重要。两种不同的调用方式将导致你虽然可以调用dll,但可能数据出错。这个问题可以说在VB与C的交互上面就可以体现了。__cdecl这个就是默认c语言的栈处理方式。__stdcall是VB的处理方式,那么对于易语言,请您详细查看后再做定论。

那么具体在c语言中提现就是,我们需要在函数前面加上__stdcall以告知编译器采用此类编译方式,应用方法就如下面的声明。

#ifndef_FUNC_H_
#define_FUNC_H_
#include"dll.h"
#include<winsock2.h>
#include"var.h"
DLLIMPORT__(int*PercentNum,int*FileID,int*PackageID);
DLLIMPORT__stdcallintGetInfoNum(intMode);
DLLIMPORT__stdcallvoidPutInfoNum(intInfoNum,intMode);
DLLIMPORT__stdcallvoidDemo0(void);
DLLIMPORT__stdcallvoidDemo1(void);
DLLIMPORT__(void);
DLLIMPORT__(void);

#endif/*_FUNC_H_*/

我听说VB和易语言有相似之处那么我给出VB调用C语言DLL时候的函数书写例子,以便您参考。

PublicClassForm1

PrivateDeclareSubNetToWorkLib"Client.dll"(ByValIpAddrAsString,ByValPortAsInteger,ByValModeAsInteger)

"Client.dll"(ByValStrAsString,ByValModeAsInteger)AsInteger

"Client.dll"(ByValStrAsString,ByValModeAsInteger)AsInteger

"Client.dll"(ByValModeAsInteger)AsInteger

"Client.dll"(ByValInfoNumAsInteger,ByValModeAsInteger)

PrivateDeclareSubDemo0Lib"Client.dll"()

PrivateDeclareSubDemo1Lib"Client.dll"()

.........

...

..

...

PrivateSubToolStripButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesToolStripButton1.Click
'从text搜索关键词并读取回链表数据
DimStrAsString
If(ToolStripTextBox1.Text="")Then
MsgBox("内容不能为空")
Else
Str=ToolStripTextBox1.Text
StrToStruct(Str,SEND_SEARCH_0200)
DimTh0AsThreading.Thread
Th0=NewThreading.Thread(AddressOfDownFileList)
Th0.Start()
EndIf
EndSub

....

..

上程序但中StrToStruct(Str, SEND_SEARCH_0200)就是一个典型的VB调用DLL函数的例子。

那么如果给些相关的参考资料(C语言封装DLL以及VB调用的问题)

http://www.aidianying123.net/article/?29.html

以便您对此更加了解。

❻ 易语言编译器!

我第一次听说还有动态编译

❼ 求个易语言破解版能静态编译的编译器

网络搜下
易语言4.13
有一个易语言4。13完美破解版
就是了
进去下载
OK。。
加分。

❽ 易语言的那个版本带编译器(有编译功能)5.0有吗那

易语言本身有编译功能啊,只是他是收费软件,你不插上他的加密狗,就是用不了而已,一套易语言据说几百块,你要是想临时用用,就去找个破解补丁(不建议过多使用破解版,毕竟不稳定),或者q我,我给你一个我的破解

❾ 易语言 写php代码编译器

貌似不能,就算是现在的商业的php编写软件也没这功能,始终都要转换成网页源代码。

如果你要模拟的话是个工程量很大的事情

❿ 易语言怎么制作编译器

易语言制作的软件不能编译出新的软件,你可以用易语言制作两个软件,用一个软件输出另一个来达到目的,目前易语言制作的软件生成器就是这个原理

热点内容
块直存储 发布:2025-04-09 01:39:01 浏览:209
山西电信服务器地址云主机 发布:2025-04-09 01:31:47 浏览:981
win7linux传文件 发布:2025-04-09 01:30:21 浏览:501
安卓完美解锁机怎么升级系统 发布:2025-04-09 01:28:50 浏览:89
滚轮JAVA 发布:2025-04-09 01:27:32 浏览:127
如何将电脑投屏到安卓平板 发布:2025-04-09 01:25:56 浏览:354
sql查询的类型 发布:2025-04-09 01:22:14 浏览:58
linuxjdkbin 发布:2025-04-09 01:17:36 浏览:85
gl8商用选什么配置 发布:2025-04-09 01:09:23 浏览:83
编程伴我成长 发布:2025-04-09 01:08:10 浏览:163