㈠ 易语言编译器把易语言代码编译成了什么
最终肯定编译成机器码了。
用查壳工具发现易语言生成的PE文件编译器为VC6.0,个人推断易语言可能是在VC上架了一层,最终可能仍然是经由VC的编译器进行编译,可能是从易语言到C++,到汇编,再到机器码,仅仅是个人推断,仅供参考
㈡ 易语言中 编译器 什么意思
生成成软件的一个文件,如果没了编译器就只是源码不可以弄成软件
㈢ 易语言怎么制作编译器
易语言制作的软件不能编译出新的软件,你可以用易语言制作两个软件,用一个软件输出另一个来达到目的,目前易语言制作的软件生成器就是这个原理
㈣ 易语言的编译器是重新开发的吗 ,还是说只是把中文代码替换下而已呢
楼主,您好!易语言的编译器编译时不是重新开发。
简单讲,易语言的编译器功能就是将易语言程序翻译为“机器语言(低级语言)”的程序。一般编译出的源程序仅仅是源代码,并不是操作系统可直接运行的程序,必须经过编译才能够称为操作系统可执行程序。编译器可以生成用来在与编译器本身所在的计算机和操作系统(平台)相同的环境下运行的目标代码,这种编译器又叫做“本地”编译器。另外,编译器也可以生成用来在其它平台上运行的目标代码,这种编译器又叫做交叉编译器。
㈤ 易语言怎么调用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
以便您对此更加了解。
㈥ 易语言编译器中的 (静态编译) 有什么作用
用静态编译它会把支持库文件和EXE程序一起打包,编译出来的EXE程序可以在没有装易语言的电脑中运行。如果不是静态编译他会把支持库文件和EXE分离开,如果失去支持文件EXE程序就无法在没有装易语言的电脑中运行。
㈦ 易语言编译器与C++的编译器分别是什么他们有什么区别啊
C/C++语言编译器
编辑
你可以用LCC-Win32开发32位的控制台程序、Windows常规程序、动态连接库(DLL) 以及静态连接库(LIB)。LCC编译器支持标准的ANSI C,同时支持 C语言的扩展。通过下载相关工具,LCC-Win32还提供对Eiffel、Fortran语言的支持。
1.Borland C++ Compiler 5.5
“Borland C/C++ 5.5.1 for Win32”是Borland公司在2000年免费放出的一个C/C++编译器,其功能完整、包含多种SDK,且容量极小,安装版本大小仅8MB。Borland公司的旗舰级产品“C++ Builder 5”内置的就是这一编译器。
2.Dev-C++ 4.9.9.2
是Bloodshed软件公司于2005年2月21日推出的一个基于MingW(即GNU C/C++的Win32版)的微型C/C++开发工具。由于使用了GNU C/C+内核,所以在做软件移植时非常的方便,你可以方便的将一个程序移植到任意一个有GNU C/C++的平台。而且由于基于GNU C/C++的开放源代码软件很多,所以使用Dev-C++是一个很好的选择。但由于它的调试不便,帮助不全等问题,也使得它在推广上举步艰难,远比不上Borland C/C++、OpenWatcom C/C++这两个同是免费的编译器。
3.DJGPP
DJGPP是基于32位保护模式的C语言编译器,是一个GNU软件,换句话说,你可以得到它整个系统的源代码,且可以任意修改。它的集成环境RHIDE是仿Borland C++ 3.1的,十分好用,这比Watcom C要强多了。
4.LCC-Win32
运行于Windows9x/Me/NT/2000下的免费的32位C语言编译系统。它的原始发布文件只有 3M,但却拥有一个功能强大的集成开发环境(IDE)、速度极快的编译器与连接器、方便顺手的调试器、资源编辑器和版本控制系统。另外还提供图像编辑器和 C 语言源文件格式化缩进器等附加工具。通过它的应用程序向导,你可以单击几次鼠标轻松得到一个应用程序框架,丝毫不比其它庞大的同类软件逊色。
5.OpenWatcom C/C++ 1.0
Watcom系统编译器是加拿大Watcom公司开发的Intel x86体系16/32位编译器,其最新版是11.0c。
Watcom C/C++的集成开发环境极差,不像Borland C/C++和Visual C/C++那样有漂亮的界面,编译连结不过轻轻一点。Watcom C/C++的大部分使用者都在命令行下编译程序。想想吧!一个需要在命令行下编译程序的编译器,怎么匹敌Borland C/C++和Visual C/C++,甚至是C++ Builder呢?
当然,编译器的好坏并不能单单从使用方便使用上来比较,专业的程序员最关心的是目标程序的质量。Watcom系列编译器相比Borland编译器和Microsoft编译器有一个最大的优势,那便是速度:用Watcom C/C++编译出来的程序在速度上远远超越(记住,不是一点儿,是超越了许多)了Borland C/C++和Microsoft Visual C/C++编译出来的程序。这样一来,即使是没有集成开发环境,程序员们也认了。这也是不少游戏程序员亲昧于这个编译器的原因。
现在我们所用到的OpenWatcom C/C++ 1.0便是Watcom C/C++ 11.0c开放后的版本,它是免费、而且开放源码的。
6.当然还有我们经常看见的TC2.0 TC3.0 Borland C++3.1 等
参考资料:http://antare.bokee.com/3361182.html
需要付费的编译器(有些允许有评估期的免费下载):
Borland C++
Comeau C++ - 支持多平台
Compaq C++
Digital Mars C++
Edison Design Group C++ Front End - 被许多C++编译器厂商采用
Green Hills C++ - 支持嵌入式系统平台
HP C++
IBM C++
Intel C++ - 支持Windows, Linux, 和其他嵌入式系统
Interstron C++
Metrowerks C++ - 支持多平台,可从Metrowerks主页上查询
Mentor Graphics/Microtec Research C++ - 支持嵌入式系统平台
Microsoft C++
Paradigm C++ - 支持x86嵌入式系统
The Portland Group C++ - 针对奔腾CPU优化
SGI C++ - 优化的编译器
Sun C++
WindRiver's Diab C++ - 用于很多嵌入式系统
来自:http://blog.sina.com.cn/s/blog_3e26cd0b010008d2.html
7. Microsoft Visual C++
Visual C++6.0不仅是一个C++编译器,而且是一个基于Windows操作系统的可视化集成开发环境(integrated development environment,IDE)。Visual C++6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导Class Wizard等开发工具。 这些组件通过一个名为Developer Studio的组件集成为和谐的开发环境。
版本由visual C++6.0发展到visual C++2008再到现在的visual C++2010(最新版)
Visual Studio 2010发布
2010年4月12日,Microsoft Visual Studio 2010全球发布会将于北京盛大举行,我们特别邀请千位中国开发菁英与世界五大城市同步迎接跨世代开发工具!届时,微软全球资深副总裁张亚勤博士等多位微软高层,以及来自微软总部的多位核心研发团队主管,将亲临发布会现场,共同为您解密微软新一代开发平台的革新之处,帮助您实现更完美的Coding梦想!
对于易语言 网上没有足够的资料表明它用的独立的编译器 很多人都说是用的VC
用查壳工具发现易语言生成的PE文件编译器为VC6.0,有人推断易语言可能是在VC上架了一层,最终可能仍然是经由VC的编译器进行编译,可能是从易语言到C++,到汇编,再到机器码,以上资料仅供参考
㈧ 易语言 写php代码编译器
貌似不能,就算是现在的商业的php编写软件也没这功能,始终都要转换成网页源代码。
如果你要模拟的话是个工程量很大的事情