「Java版Java编译器」java程序编译器

博主:adminadmin 2022-12-26 10:18:10 73

本篇文章给大家谈谈Java版Java编译器,以及java程序编译器对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

JAVA的编译器有哪些?

推荐Jcreator,它对于初学者是个很好的开发工具,又小运行也很快。它要用到JDK,大的IDE有JBuilder,netbean,sun stdio,eclipse。

编译器就是将"一种语言(通常为高级语言)"翻译为"另一种语言(通常为低级语言)"的程序。一个现代编译器的主要工作流程:源代码 (source code) → 预处理器 (preprocessor) → 编译器 (compiler) → 目标代码 (object code) → 链接器 (Linker) → 可执行程序 (executables)

高级计算机语言便于人编写,阅读交流,维护。机器语言是计算机能直接解读、运行的。编译器将汇编或高级计算机语言源程序(Source program)作为输入,翻译成目标语言(Target language)机器代码的等价程序。源代码一般为高级语言 (High-level language), 如Pascal、C、C++、Java、汉语编程等或汇编语言,而目标则是机器语言的目标代码(Object code),有时也称作机器代码(Machine code)。

对于C#、VB等高级语言而言,此时编译器完成的功能是把源码(SourceCode)编译成通用中间语言(MSIL/CIL)的字节码(ByteCode)。最后运行的时候通过通用语言运行库的转换,编程最终可以被CPU直接计算的机器码(NativeCode)。

JAVA的编译器怎么用

首先,Java编译之后不是生成.exe文件,编译之后只有.class文件,也就是字节码文件,所以你运行它只是用Java虚拟机去解释执行,而不是操作系统直接执行,换句话说,它不是DOS程序,所以没办法直接像C语言编译之后的那样。

其次如果你把JDK的安装目录下的bin文件夹的路径添加到Path环境变量的话,那么进入命令提示符(运行对话框里输入cmd就可以进入命令提示符),输入:“java【空格】 类名”就可以看到类似C语言运行的效果,当然,那个类要有main方法,还有就是你输入:“java【空格】 类名”之前,还需要在命令提示符里先进入到.class文件所在的路径,进入的方法是输入“cd 路径”

再次,NetBean是个集成开发工具,不是编译器,但是NetBean里有编译器,它有个窗口类似于DOS窗口的,在里面可以看到输出,也以自己输入命令、参数。

最后,如果学习Java的话,还是建议你系统地学习,很多入门书籍、入门视频都有教编译器怎么用,怎么运行Java程序等等各种知识的。

用java做一个java的编译器

1. 下载

在GCC网站上()或者通过网上搜索可以查找到下载资源。目前GCC的最新版本为 3.4.0。可供下载的文件一般有两种形式:gcc-3.4.0.tar.gz和gcc-3.4.0.tar.bz2,只是压缩格式不一样,内容完全一致,下载其中一种即可。

2. 解压缩

根据压缩格式,选择下面相应的一种方式解包(以下的“%”表示命令行提示符):

% tar xzvf gcc-3.4.0.tar.gz

或者

% bzcat gcc-3.4.0.tar.bz2 | tar xvf -

新生成的gcc-3.4.0这个目录被称为源目录,用${srcdir}表示它。以后在出现${srcdir}的地方,应该用真实的路径来替换它。用pwd命令可以查看当前路径。

在${srcdir}/INSTALL目录下有详细的GCC安装说明,可用浏览器打开index.html阅读。

3. 建立目标目录

目标目录(用${objdir}表示)是用来存放编译结果的地方。GCC建议编译后的文件不要放在源目录${srcdir]中(虽然这样做也可以),最好单独存放在另外一个目录中,而且不能是${srcdir}的子目录。

例如,可以这样建立一个叫 gcc-build 的目标目录(与源目录${srcdir}是同级目录):

% mkdir gcc-build

% cd gcc-build

以下的操作主要是在目标目录 ${objdir} 下进行。

4. 配置

配置的目的是决定将GCC编译器安装到什么地方(${destdir}),支持什么语言以及指定其它一些选项等。其中,${destdir}不能与${objdir}或${srcdir}目录相同。

配置是通过执行${srcdir}下的configure来完成的。其命令格式为(记得用你的真实路径替换${destdir}):

% ${srcdir}/configure --prefix=${destdir} [其它选项]

例如,如果想将GCC 3.4.0安装到/usr/local/gcc-3.4.0目录下,则${destdir}就表示这个路径。

在我的机器上,我是这样配置的:

% ../gcc-3.4.0/configure --prefix=/usr/local/gcc-3.4.0 --enable-threads=posix --disable-checking --enable--long-long --host=i386-redhat-linux --with-system-zlib --enable-languages=c,c++,java

将GCC安装在/usr/local/gcc-3.4.0目录下,支持C/C++和JAVA语言,其它选项参见GCC提供的帮助说明。

5. 编译

% make

这是一个漫长的过程。在我的机器上(P4-1.6),这个过程用了50多分钟。

6. 安装

执行下面的命令将编译好的库文件等拷贝到${destdir}目录中(根据你设定的路径,可能需要管理员的权限):

% make install

至此,GCC 3.4.0安装过程就完成了。

6. 其它设置

GCC 3.4.0的所有文件,包括命令文件(如gcc、g++)、库文件等都在${destdir}目录下分别存放,如命令文件放在bin目录下、库文件在lib下、头文件在include下等。由于命令文件和库文件所在的目录还没有包含在相应的搜索路径内,所以必须要作适当的设置之后编译器才能顺利地找到并使用它们。

6.1 gcc、g++、gcj的设置

要想使用GCC 3.4.0的gcc等命令,简单的方法就是把它的路径${destdir}/bin放在环境变量PATH中。我不用这种方式,而是用符号连接的方式实现,这样做的好处是我仍然可以使用系统上原来的旧版本的GCC编译器。

首先,查看原来的gcc所在的路径:

% which gcc

在我的系统上,上述命令显示:/usr/bin/gcc。因此,原来的gcc命令在/usr/bin目录下。我们可以把GCC 3.4.0中的gcc、g++、gcj等命令在/usr/bin目录下分别做一个符号连接:

% cd /usr/bin

% ln -s ${destdir}/bin/gcc gcc34

% ln -s ${destdir}/bin/g++ g++34

% ln -s ${destdir}/bin/gcj gcj34

这样,就可以分别使用gcc34、g++34、gcj34来调用GCC 3.4.0的gcc、g++、gcj完成对C、C++、JAVA程序的编译了。同时,仍然能够使用旧版本的GCC编译器中的gcc、g++等命令。

6.2 库路径的设置

将${destdir}/lib路径添加到环境变量LD_LIBRARY_PATH中,最好添加到系统的配置文件中,这样就不必要每次都设置这个环境变量了。

例如,如果GCC 3.4.0安装在/usr/local/gcc-3.4.0目录下,在RH Linux下可以直接在命令行上执行或者在文件/etc/profile中添加下面一句:

setenv LD_LIBRARY_PATH /usr/local/gcc-3.4.0/lib:$LD_LIBRARY_PATH

7. 测试

用新的编译命令(gcc34、g++34等)编译你以前的C、C++程序,检验新安装的GCC编译器是否能正常工作。

8. 根据需要,可以删除或者保留${srcdir}和${objdir}目录。

如果用的是ubuntu或者是fedora的话 可以在源里直接安装

Java用什么编译器?

常用的就是Eclipse,My Eclipse,idea这三种,My Eclipse相对于其他两种不是很常用

java编译器的作用是什么

java编译器的作用就是“编译”,即 将java源代码编译成中间代码字节码文件。

编译时,编译器(java.exe)首先读入 java 源代码,然后进行语法检查,如果出现问题就终止编译。语法检查通过后,生成中间代码即字节码。

字节码文件是一种和任何具体机器环境及操作系统环境无关的中间代码,它是一种二进制文件,是Java源文件由Java编译器编译后生成的目标代码文件。

编译器编译生成与平台无关的字节码文件后,提供给 JVM (Java虚拟机)执行。

java jdk与编译器有什么关系

我来说说我的理解吧,你的这种问题一般没有什么明确的回答。

java:java是一种编程语言,比如说我用java开发这个项目,普遍的意思就是说用符合java语言的语法的代码,用java版的编译器,用的库是java的库,不是其他语言的库。等等,是一个很广泛的概念。

而jdk:全称叫做java 开发包,就是说一般java开发的时候所需要的工具,举个例子,你运行一个java程序的时候,需要 用到编译器吗?不需要,但是你开发java应用程序的时候,需要用到编译器吗?需要!所以jdk,只要是满足java开发所需要的东西,都属于jdk一部分。

而编译器:编译器有很多种,一般来说,是将源代码经过一系列复杂处理,转换成一定环境的目标文件,为啥说是目标文件而不是说字节码文件呢,主要是为了说的更加准确一点,当然,有些时候称为可执行文件。具体内容,可以参考《程序员的自我修养》。

一般来说,java编译器属于jdk一部分,而jdk不一定属于java语言的一部分,为啥呢?因为jdk包含很多东西,这些东西严格来说是属于C语言或者是C++的一部分。

关于Java版Java编译器和java程序编译器的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-12-26,除非注明,否则均为首码项目网原创文章,转载请注明出处。