易语言vc编译器(易语言编译器与C++的编译器分别是什么他们有什么区别啊)

本文目录
- 易语言编译器与C++的编译器分别是什么他们有什么区别啊
- 易语言怎么调用c语言编译器来运行程序代码 ! 急!谢谢回答者!说详细些
- C语言,C++,VC++,VB,易语言,有什么区别,那个容易
- 易语言的静态编译用的哪个什么VCLINK是c++的
易语言编译器与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 等
***隐藏网址***
需要付费的编译器(有些允许有评估期的免费下载):
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++ - 用于很多嵌入式系统
***隐藏网址***
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++,到汇编,再到机器码,以上资料仅供参考
易语言怎么调用c语言编译器来运行程序代码 ! 急!谢谢回答者!说详细些
如果易语言编译器容许您,那么就是可以的,例如keilc51编译器和常用调试arm裸机程序,是可以在c语言语句中加入汇编语言。
由于本人不了解易语言,无法确定其编译器是否可以编译c,但估计是不行。
那么说回来,如果这样,程序就没法写了。实际大家是怎么做的呢。通常做法是将c语言程序编译成dll文件,也就是我们所谓的库文件。然后就可以实现调用了。这种文件我们经常会在常见的程序中看到,原因就是代码保密性好,并且更新很方便,关键在于可以多种语言交互。
当然了,也可以吧所谓的易语言封装成dll,被c调用,当然如果他有这项功能的话。
如果一个c语言已经编译成可执行程序了,比如exe文件,那么易语言端应与c语言端进行进程通信,方可实现数据交互。那么进程通信就有多种方式,那么就不赘述了。
说下DLL的封装,如果是c语言我们需要加入dll.h
dll.h中放入以下语句
#ifndef _DLL_H_
#define _DLL_H_
#if BUILDING_DLL
# define DLLIMPORT __declspec (dllexport)
#else /* Not BUILDING_DLL */
# define DLLIMPORT __declspec (dllimport)
#endif /* Not BUILDING_DLL */
DLLIMPORT void HelloWorld (void);
#include "func.h"
#endif /* _DLL_H_ */
程序中的,DLLIMPORT void HelloWorld (void);,#include "func.h"是例子,就是放你书写的用c写的函数声明的地方。
而在你c语言原先放主函数的那个文件中应该写入以下内容
/* Replace "dll.h" with the name of your header */
#include "dll.h"
#include 《windows.h》
#include 《stdio.h》
#include 《stdlib.h》
BOOL APIENTRY DllMain (HINSTANCE hInst /* Library instance handle. */ ,
DWORD reason /* Reason this function is being called. */ ,
LPVOID reserved /* Not used. */ )
{
switch (reason)
{
case DLL_PROCESS_ATTACH:
break;
case DLL_PROCESS_DETACH:
break;
case DLL_THREAD_ATTACH:
break;
case DLL_THREAD_DETACH:
break;
}
/* Returns TRUE on success, FALSE on failure */
return TRUE;
}
我们看见有很多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 __stdcall void GetProgressNumFileIDPackageID(int *PercentNum,int *FileID,int *PackageID);
DLLIMPORT __stdcall int GetInfoNum(int Mode);
DLLIMPORT __stdcall void PutInfoNum(int InfoNum,int Mode);
DLLIMPORT __stdcall void Demo0(void);
DLLIMPORT __stdcall void Demo1(void);
DLLIMPORT __stdcall void InitThreadCriticalSection(void);
DLLIMPORT __stdcall void DeleteThreadCriticalSection(void);
#endif /*_FUNC_H_*/
我听说VB和易语言有相似之处那么我给出VB调用C语言DLL时候的函数书写例子,以便您参考。
Public Class Form1
Private Declare Sub NetToWork Lib "Client.dll" (ByVal IpAddr As String, ByVal Port As Integer, ByVal Mode As Integer)
Private Declare Function StrToStruct Lib "Client.dll" (ByVal Str As String, ByVal Mode As Integer) As Integer
Private Declare Function StructToStr Lib "Client.dll" (ByVal Str As String, ByVal Mode As Integer) As Integer
Private Declare Function GetInfoNum Lib "Client.dll" (ByVal Mode As Integer) As Integer
Private Declare Sub PutInfoNum Lib "Client.dll" (ByVal InfoNum As Integer, ByVal Mode As Integer)
Private Declare Sub Demo0 Lib "Client.dll" ()
Private Declare Sub Demo1 Lib "Client.dll" ()
.........
...
..
...
Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton1.Click
’从text搜索关键词 并读取回链表数据
Dim Str As String
If (ToolStripTextBox1.Text = "") Then
MsgBox("内容不能为空")
Else
Str = ToolStripTextBox1.Text
StrToStruct(Str, SEND_SEARCH_0200)
Dim Th0 As Threading.Thread
Th0 = New Threading.Thread(AddressOf DownFileList)
Th0.Start()
End If
End Sub
....
..
上程序但中StrToStruct(Str, SEND_SEARCH_0200)就是一个典型的VB调用DLL函数的例子。
那么如果给些相关的参考资料(C语言封装DLL以及VB调用的问题)
***隐藏网址***
以便您对此更加了解。
C语言,C++,VC++,VB,易语言,有什么区别,那个容易
“C语言,C++,VC++,VB,易语言”都是高级计算机编程语言或使用特定编程语言的编程软件,它们的指令单词不同、语法习惯不同、编译软件不同。对中国人来说,其中最容易懂的是“易语言”。
这几门语言或软件当前的特点:
C语言:是C++的前身,在历史进程中演变成了C++,在实际工作中,基本上用的都是C++,严格的C语言因为功能不足已淡化出局了,只在某些理论学习与考试中还会存在。有多种编程环境使用C语言。另外有人用来代称使用严格C语言的Turbo C早期版本的编程环境,比如TC1.0、TC2.0,因为这是使用C语言最典型的代表。
C++:是C语言的扩展,现在主流的编程软件中,VC和C++Builder用的就是它,它的特点是高效与易于接近系统底层。它的缺点也是特点是,比较难掌握,特别是指针和直接地址编程。有多种编程环境使用C语言。另外有人代称使用C++的某些Borand C++Builder,因为这曾经是使用C++语言最典型的代表。
VC++:指使用C++语言的微软出品的Visual Studio中的Visual C++组件。
VB:指使用Basic语言的微软出品的Visual Studio中的Basic组件。
易语言:指一个由国人开发的,当前来说比较业余的一款使用特定的汉语单词作为编程语言的软件。
易语言的静态编译用的哪个什么VCLINK是c++的
易语言没有自己的编译器,但他用的是VC的编译器。非静态编译:易语言因为没有自己的静态编译器,如果不使用别人的编译器,你编译出去的软件,将会把你软件用到的函数和命令所属的支持库,DLL等都编译进软件或软件同目录,即使你不是用到库的全部命令,也会被把所有用到命令的很多支持库,整库编译进去,这样导致了软件体积巨大,还会影响软件效率。。静态编译:易语言因没有自己的静态编译器,所以用的是VC的编译器。使用静态编译的好处就是,当你调用了很多库里面的命令时候,不需要把这么多库都带上编译出去。静态编译可以让他从库中脱离出来,只编译被调用到的命令部分。这样减轻了软件的体积负担和运行效率。。。现在明白了吧!呵呵!记得采纳哦!!

更多文章:
directive vue(如何在Vue中建立全局引用或者全局命令)
2026年5月6日 19:15
javaeclipse包的新建(用eclipse如何创建java工程)
2026年1月11日 08:30
c语言switch语句case后面接什么(c语言switch语句中case后面必须要接整型常量和字符型常量吗)
2025年10月26日 08:15
怎么把普通文件导入变成web项目(java项目怎么转成web项目)
2025年9月18日 16:00
在循环体内使用break语句(在循环结构中使用break语句,退出的是一层循环,还是多重循环呢可以给出一个简单且巧妙的例子吗)
2026年5月1日 00:00
position在css的属性(CSS中position属性详解)
2025年9月26日 23:45
amazed是什么牌子(amazing和amazed有什么区别)
2026年4月3日 15:00
周期函数值域的求法(已知函数的最小正周期为求;当时,求函数的值域.)
2025年11月30日 22:15
毕设做网站必须要用到ssm框架嘛(毕业设计做ssm还是app更难)
2026年3月31日 03:00
new directory(如何将威纶通tk6070ip触摸屏程序上传到电脑里)
2026年8月7日 01:45

















