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
以便您对此更加了解。
㈡ c语言与易语言的区别是什么是同一个性质的吗
怎么现在还有人想了解易语言。。。。
易语言本质上就是中文化的VB,根本不是一个独立的语言,编译之后就是VB。易语言根本就没有学习的必要,当初炒得沸沸扬扬,无非是打什么民族牌,惯用的伎俩。用个中文写代码就民族骄傲,就有利于振兴民族软件业了?笑死人,毫无关系的东西。中文写代码比英文蛋疼得多,极大降低了开发效率,自找麻烦。
现在看来,易语言更像是一个骗局,试问有哪一款语言会对编译器收费?有哪个领域承认这东西了?有哪个语言,哪个技术支持,兼容易语言?这种垃圾东西就不该存在,把很多新人引入歧途,其心可诛!
跟C语言相提并论更是毫无意义,C语言是高级程序语言的基石,是很多其他语言的底层,而易语言不过是VB语言的一层皮而已。学什么语言要看它本身的特性是否吸引人,更要看它的整个生态环境是否良好。
这里给编程新手推荐Python,作为脚本语言,几乎无所不包,而且语法优雅易学,跨平台支持好,编写出实用代码不要太方便。要学习编译型语言,那就绕不开C语言。随后可以学习C#。千万不要学那些不入流的东西浪费时间。
㈢ 易语言和C语言哪个容易编
编写方面易语言应该比C语言简单并且快些
但是效果C语言应该更好,因为易语言需要带支持库,即使做了特殊处理(斩月/黑月),易语言还有杀毒软件易误报的缺点
㈣ C语言跟E语言的区别
区别如下:
C语言是一门通用英文计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
易语言是一门中文计算机编程语言。以“易”着称,以中文作为程序代码表达的语言形式。易语言的创始人是吴涛。早期版本的名字为E语言。易语言最早的版本的发布可追溯至2000年9月11日。创造易语言的初衷是进行用中文来编写程序的实践。从2000年至今,易语言已经发展到一定的规模,功能上、用户数量上都十分可观。2015年计划推出移动版编程工具,用于编译安卓系统手机APP!
㈤ c语言和易语言有什么区别
C速度快,易语言体积大速度慢,不过适合中国国情
C写底层的,易语言和VB一样,高级语言
㈥ 易语言和C语言的差别
这么说吧:
C语言高效,简洁。并且几乎免费(VS除外,但是gcc好用)。然后是我见过最快的语言(除了汇编),并且语法好理解,成熟,社区人多,有问题好解决。
只是不用visual开发图形化没有vb、易语言方便
适合需要高性能的用户
-----
易语言:方便,并且gui设计简单。所见即所得,很直观,并且支持库丰富。
但是速度不够快,稳定性需要继续提高,还有两个问题:
1)
就是众所周知的3**,b**,k**报毒问题
2)
编译效率不够高,并且编译出来不加壳很大
还有是易语言的可编译exe版很贵(***
另外,易语言的调试功能好用,尤其是检测数组越界
㈦ C语言和易语言有什么区别…两个都是编译软件,能不能充分的解释下两者的区别…谢谢
易语言是中国人自己开发的一种编程语言,是一款全中文程序代码的编程语言,和VB、C语言、C++、C#等都属于同一性质,都是用来开发程序和编写软件用的。易语言的内核由C++编写而成,与前面说的几种语言一样,都属于运行于操作系统平台上的高级编程语言。易语言与其他几种语言的不同点在于:易语言采用的是全中文的程序代码,不需要英语基础即可学习使用,和其他几种编程语言相比,易语言更简单易学,入门更快,编写软件变的更加简单化。
㈧ C语言和易语言是什么东西
它俩都是编程语言,只是不同种类的编程语言,什么是编程语言呢?计算机语言通常是一个能完整、准确和规则地表达人们的意图,并用以指挥或控制计算机工作的“符号系统”。计算机语言通常分为三类:即机器语言,汇编语言和高级语言。 1. 机器语言 机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。它是计算机的设计者通过计算机的硬件结构赋予计算机的操作功能。机器语言具有灵活、直接执行和速度快等特点。用机器语言编写程序,编程人员要首先熟记所用计算机的全部指令代码和代码的涵义。手编程序时,程序员得自己处理每条指令和每一数据的存储分配和输入输出,还得记住编程过程中每步所使用的工作单元处在何种状态。这是一件十分繁琐的工作,编写程序花费的时间往往是实际运行时间的几十倍或几百倍。而且,编出的程序全是些0和1的指令代码,直观性差,还容易出错。现在,除了计算机生产厂家的专业人员外,绝大多数程序员已经不再去学习机器语言了。2.汇编语言 为了克服机器语言难读、难编、难记和易出错的缺点,人们就用与代码指令实际含义相近的英文缩写词、字母和数字等符号来取代指令代码(如用ADD表示运算符号“+”的机器代码),于是就产生了汇编语言。所以说,汇编语言是一种用助记符表示的仍然面向机器的计算机语言。汇编语言亦称符号语言。汇编语言由于是采用了助记符号来编写程序,比用机器语言的二进制代码编程要方便些,在一定程度上简化了编程过程。汇编语言的特点是用符号代替了机器指令代码, 而且助记符与指令代码一一对应,基本保留了机器语言的灵活性。使用汇编语言能面向机器并较好地发挥机器的特性,得到质量较高的程序。汇编语言中由于使用了助记符号,用汇编语言编制的程序送入计算机,计算机不能象用机器语言编写的程序一样直接识别和执行,必须通过预先放入计算机的 “汇编程序“的加工和翻译,才能变成能够被计算机识别和处理的二进制代码程序。用汇编语言等非机器语言书写好的符号程序称源程序,运行时汇编程序要将源程序翻译成目标程序。目标程序是机器语言程序,它一经被安置在内存的预定位置上,就能被计算机的CPU处理和执行。汇编语言像机器指令一样,是硬件操作的控制信息,因而仍然是面向机器的语言,使用起来还是比较繁琐费时,通用性也差。汇编语言是低级语言。但是,汇编语言用来编制系统软件和过程控制软件,其目标程序占用内存空间少,运行速度快,有着高级语言不可替代的用途。3.高级语言 不论是机器语言还是汇编语言都是面向硬件的具体操作的,语言对机器的过分依赖,要求使用者必须对硬件结构及其工作原理都十分熟悉,这对非计算机专业人员是难以做到的,对于计算机的推广应用是不利的。计算机事业的发展,促使人们去寻求一些与人类自然语言相接近且能为计算机所接受的语意确定、规则明确、自然直观和通用易学的计算机语言。这种与自然语言相近并为计算机所接受和执行的计算机语言称高级语言。高级语言是面向用户的语言。无论何种机型的计算机, 只要配备上相应的高级语言的编译或解释程序,则用该高级语言编写的程序就可以通用。目前被广泛使用的高级语言有BASIC、PASCAL、C、COBOL、FORTRAN、LOGO以及VC、VB等。这些语言都是属于系统软件。计算机并不能直接地接受和执行用高级语言编写的源程序,源程序在输入计算机时,通过“翻译程序”翻译成机器语言形式的目标程序,计算机才能识别和执行。这种“翻译”通常有两种方式,即编译方式和解释方式。编译方式是:事先编好一个称为编译程序的机器语言程序,作为系统软件存放在计算机内,当用户由高级语言编写的源程序输入计算机后,编译程序便把源程序整个地翻译成用机器语言表示的与之等价的目标程序,然后计算机再执行该目标程序,以完成源程序要处理的运算并取得结果。解释方式是:源程序进入计算机时,解释程序边扫描边解释作逐句输入逐句翻译,计算机一句句执行,并不产生目标程序。PASCAL、 FORTRAN、COBOL等高级语言执行编译方式;BASIC语言则以执行解释方式为主;而PASCAL、C语言是能书写编译程序的高级程序设计语言。每一种高级(程序设计)语言,都有自己人为规定的专用符号、英文单词、语法规则和语句结构(书写格式)。高级语言与自然语言(英语)更接近,而与硬件功能相分离(彻底脱离了具体的指令系统),便于广大用户掌握和使用。高级语言的通用性强,兼容性好,便于移植。 然后是常见的几中高级程序设计语言下面介绍几种较有代表性的高级程序设计语言:⑴BASIC语言 BASIC语言全称是Beginner’s all Purpose Symbolic Instruction Code,意为“初学者通用符号指令代码“。1964年由美国达尔摩斯学院的基米尼和科茨完成设计并提出了BASIC语言的第一个版本,经过不断丰富和发展,现已成为一种功能全面的中小型计算机语言。BASIC易学、易懂、易记、易用,是初学者的入门语言,也可以作为学习其他高级语言的基础。BASIC有解释方式和编译方式两种翻译程序。⑵PASCAL语言 PASCAL是一种结构程序设计语言,由瑞士苏黎世联邦工业大学的沃斯(N.Wirth)教授研制,于1971年正式发表。是从ALGOL60衍生的,但功能更强且容易使用。目前,作为一个能高效率实现的实用语言和一个极好的教学工具,PASCAL语言在高校计算机软件教学中一直处于主导地位。 Pascal(B.Pascal)是十七世纪法国着名数学家,他于1642年曾发明现代台式计算机的雏型机—加减法计算机。PASCAL具有大量的控制结构,充分反映了结构化程序设计的思想和要求,直观易懂,使用灵活,既可用于科学计算,又能用来编写系统软件,应用范围日益广泛。⑶通用编程语言C C语言是美国AT&T(电报与电话)公司为了实现UNIX系统的设计思想而发展起来的语言工具。C语言的主要特色是兼顾了高级语言和汇编语言的特点,简洁、丰富、可移植。相当于其他高级语言子程序的函数是C语言的补充,每一个函数解决一个大问题中的小任务,函数使程序模块化。C语言提供了结构式编程所需要的各种现代化的控制结构。C语言是一种通用编程语言,正被越来越多的计算机用户所推崇。使用C语言编写程序,既感觉到使用高级语言的自然,也体会到利用计算机硬件指令的直接,而程序员却无需卷入汇编语言的繁琐。⑷COBOL语言 COBOL的全称是Common Business Oriented Language,意即:通用商业语言。在企业管理中,数值计算并不复杂,但数据处理信息量却很大。为专门解决经企管理问题,于1959年,由美国的一些计算机用户组织设计了专用于商务处理的计算机语言COBOL,并于1961年美国数据系统语言协会公布。经不断修改、丰富完善和标准化,已发展为多种版本。COBOL语言使用了300多个英语保留字,大量采用普通英语词汇和句型,COBOL程序通俗易懂,素有“英语语言”之称。COBOL语言语法规则严格。用COBOL语言编写的任一源程序,都要依次按标识部、环境部、数据部和过程部四部分书写,COBOL程序结构的“部” 内包含“节”,“节”内包含“段”,段内包含语句,语句由字或字符串组成,整个源程序象一棵由根到干,由干到枝,由枝到叶的树,习惯上称之为树型结构。目前COBOL语言主要应用于情报检索、商业数据处理等管理领域。常用的高级程序设计语言,除了上述的几种之外,还有很多,如以英国着名诗人拜伦(G.N.G.Byron)的独生女艾达·拜伦(Ada Byron)的名字命名的军用语言Ada,深受中、小学生欢迎的语言LOGO等等。</SPAN></SPAN></p>
㈨ C语言和易语言有什么分别
易语言是中文编程的,不用跨越英文门槛,目前是最好的中文编程语言了,现在用户还有功能都很不错了,我曾经想学易语言来的,但是和一个易语言程序员聊过后,他的建议是如果没接触就不要学,说实话个人感觉这个跟C语言的差别还是很大的,建议学C或者C++,毕竟这个才是主流,而且C和C++基本涉及不到什么英语,即使你想学易语言,但还是建议先学C或者C++,然后有余力的情况下再去看看其他语言吧,比如java之类,感觉都比易语言来的实在,这个不是支不支持国产,而是客观上国产的易语言和C的差距还是很大的
㈩ 易语言编程和C语言编程有什么区别
C语言可以说是行业标准,正经的程序员都应该会C。 而易语言是国内的一些人为了弄国家拨款搞的所谓“具有自主知识产权”的“编程语言”,不仅外国没人用,国内正经的软件公司也都不用。