编译等级不同
⑴ java编译器级别与安装的Java项目构面的版本不匹配是什么原因
在当前项目上点右键,属性--Project Facets中,配置编译版本与java compiler的版本一致。
选中项目后按下alt+enter组合键或者右键Project | Properties |Java Compiler(type filter text输入compiler可快速定位)。
修改Project Facets的Java值,使之和Compiler compliance level相同
⑵ Java 编译器级别与安装的 Java项目构面的版本不匹配
问题解决:
在当前项目上点右键,属性--Project Facets中,配置编译版本与java compiler的版本一致。
1、选中项目后按下alt+enter组合键或者右键Project | Properties |Java Compiler(type filter text输入compiler可快速定位),
2、修改Project Facets的Java值,使之和Compiler compliance level相同
⑶ c语言编译时间接寻址级别不同链表的问题
声明与定义的格式不同。
你在main函数里声明是: struct stu *print(struct stu *head);
而下面的定义是: void print(struct stu *head)
这是老谭那本书里面的吧~
⑷ 怎么调整java编译器的级别
右键项目,propeties(属性) ,在弹出的框中找到java complier(java编译器 ),这里可以调整。
⑸ 编译器64位和32位有什么区别
从 32位到 64位架构的改变是一个根本的改变,因为大多数操作系统必须进行全面性修改,以取得新架构的优点。其它软件也必须进行移植,以使用新的性能;较旧的软件一般可借由硬件兼容模式(新的处理器支持较旧的 32位版本指令集)或软件模拟进行支持。或者直接在 64位处理器里面实现 32位处理器核心(如同 Intel 的 Itanium 处理器,其内含有 x86 处理器核心,用来运行 32位 x86 应用程序)。支持 64位架构的操作系统,一般同时支持 32位和 64位的应用程序。
明显的例外是 AS/400,其软件运行在虚拟的指令集架构,称为 TIMI(技术独立机器界面),它会在运行之前,以低级软件转换成原生机器码。低级软件必须全部重写,以搬移整个 OS 以及所有的软件到新的平台。例如,当 IBM 转移较旧的 32/48 比特“IMPI”指令集到 64位 PowerPC(IMPI 完全不像 32位 PowerPC,所以这比从 32位版本的指令集转移到相同指令集的 64位版本的规模还要庞大)。
64位架构无疑可应用在需要处理大量数据的应用程序,如数字视频、科学【和谐你妹啊】运算、和早期的大型数据库。在其它工作方面,其 32位兼容模式是否会快过同等级的 32位系统,这部分已有很多争论。在 x86-64 架构(AMD64 和 Intel 64)中,主要的 32位操作系统和应用程序,可平滑的运行于 64位硬件上。
Sun 的 64位 Java 虚拟机的启动速度比 32位虚拟机还慢,因为 Sun 仍假定所有的 64位机器都是服务器,而且只有为 64位平台实现“服务器”编译器(C2)。[1]“客户端”编译器(C1)产生较慢的代码,不过编译较快速。所以尽管在 64位 JVM 的 Java 程序在一段很长的周期会运行的较好(一般为长时间运作的“服务器”应用程序),它的启动时间可能更久。对于短生命期的应用程序(如 Java 编译器 javac)增加启动时间可控制运行时间,使 64位的 JVM 整体变慢。
应当指出,在比较 32位和 64位处理器时,速度并不是唯一的考量因素。应用程序,如多任务、应力测试(stress testing)、簇(clustering)(用于HPC)可能更适合 64位架构以正确部署。为了以上原因,64位簇已广泛部署于大型组织,如 IBM、Vodafone、HP、微软。
⑹ 每个编译器都不一样么 c语言一般用什么编译器 每次一种编译器不能编译 另一种却能编译出
编译器就是c语言编译成二进制的东西,
不同的编译器是不同的, 比如16位系统和32位系统的编译器就不同,因为16位的认为int是2字节,32位的则认为是4个字节。 另外 linux上的编译器跟windows下的编译器也不同,linux上的认为内核空间占1G,而windows下则认为占2G, 此外两个系统对环境变量以及其他的设置也不同所以编译器更不能用。
而且不同的CPU的指令集时不同的,所以同样int a =1 最后被编译成的二进制代码也是不同的。
C语言的编译器有很多,windows下的编译器也有很多,不同的编译器可能会做一些不同的优化,linux下的gcc也可以添加选项让他编译windows下运行的程序。
main(int argc,char*argv[ 】 ) argc 是你的参数个数 argv是你的参数。
比如你最终程序叫 add 那么 你在命令行执行add 1 2 那么argc =3 第一个参数使你的add, 第二个第三个就是 1 2, 在函数内部你就可以获取这俩参数进行相加然后打印
visual 是个IDE,集成开发环境,已经集成好了windows下使用的编译器连接器 等, 编写代码完成后直接点击编译就行了。 IDE的默认编译器是可以更改的,不同的IDE设置不同。
⑺ 用C++实现了一个简单的单例模式,可是编译却提示C2040间接寻址级别不同 求大老们帮忙啊 。。
MapPart::pMap = NULL;
改为
MapPart* MapPart::pMap = NULL;
而且你写的这个不是太好。要手动delete,时机掌握会比较麻烦。
附一个我以前写的给你
class Singleton
{
public:
static Singleton * GetInstance(void)
{
static Singleton instance;
return &instance;
}
T m_value;
private:
Singleton() { }
Singleton(const Singleton &other);
Singleton& operator=(const Singleton &other);
}
⑻ C语言的编译器为什么有许多不同的版本并且在不同的编译器版本下C语言的语法规则也不尽相同
C的标准本来就有多个版本,目前编译器采用的标准比较常见的是ANSI C和C99。另外语言标准中也存在未定义行为,留给编译器实现自己去定义。各种编译器对标准的实现也未必完全遵守(C还好,C++这种特别复杂的语言就很难做到完全遵守标准了),而且往往还增加一些自己的扩展,预定义宏之类的。这些都给跨编译器编码带来麻烦。不过总体而言C是个比较单纯的语言,除非程序员故意,一般搞不出太多给编译器出难题的花样。作为长期用C++的程序员,非常羡慕C代码编译时那种飞快的速度。
麻烦采纳,谢谢!
⑼ 程序编辑与编译有什么区别
编辑和编译是完全不同的概念,,编辑 是指程序代码、界面等的输入、构建,编辑等,在这期间,开发工具会对输入的代码进行一般的语法检查等,,在可视化以前的开发环境下,主要是指代码的输入、编辑。编译是指 开发工具的编译程序对编辑过的代码进行转换,以便生成可以执行的代码文件,在可视化以前的开发环境下,编译都是在编辑工作完成以后进行的。
⑽ 编译过程分为哪几个阶段各阶段的遵循的原则、识别机构、使用的文法编译原理
编译原理中的遍概念
编译阶段也常常划分为两大步骤,分析步骤和综合步骤 分析步骤和综合步骤 分析步骤是指对源程序的分析 -线性分析(词法分析或扫描) -层次分析(语法分析) -语义分析 综合步骤是指后端的工作,为目标程序的生成而进行的综合
你分析过吗?若按照这种组合方式实现编译程序,可以设想,某一编译程序的前端加上相应不同的后 端则可以为不同的机器构成同一个源语言的编译程序。也可以设想,不同语言编译的前端生成同一种中间 语言,再使用一个共同的后端,则可为同一机器生成几个语言的编译程序。
一个编译过程可由一遍、两遍或多遍完成。所谓"遍",也称作"趟",是对源程序或其等价的中间语言程 序从头到尾扫视并完成规定任务的过程。每一遍扫视可完成上述一个阶段或多个阶段的工作。例如一遍可 以只完成词法分析工作;一遍完成词法分析和语法分析工作;甚至一遍完成整个编译工作。对于多遍的编 译程序,第一遍的输入是用户书写的源程序,最后一遍的输出是目标语言程序,其余是上一遍的输出为下 一遍的输入。
在实际的编译系统的设计中,编译的几个阶段的工作究竟应该怎样组合,即编译程序究竟分成几遍, 参考的因素主要是源语言和机器(目标机)的特征。比如源语言的结构直接影响编译的遍的划分;像 PL/1 或 ALGOL 68 那样的语言,允许名字的说明出现在名字的使用之后,那么在看到名字之前是不便为包含该名 字的表达式生成代码的,这种语言的编译程序至少分成两遍才容易生成代码。另外机器的情况,即编译程 序工作的环境也影响编译程序的遍数的划分。遍数多一点,整个编译程序的逻辑结构可能清晰些,但遍数 多即意味着增加读写中间文件的次数,势必消耗较多时间,一般会比一遍的编译要慢。