我正在学习 C 语言,并对 C 的 IDE 感到疑惑。 我们都知道要制作Java程序需要先安装JDK。
但在 C 的情况下,我们只需要安装一个编译器(例如 Visual Studio)。 我清楚吗? 如果是这样,为什么 C 不需要像 Java 的 JDK 这样的东西? 是因为我们的操作系统已经有了一些帮助吗? 或者 JDK 只是 Java 的一个特殊东西?
对不起,我的英文太短了..!
答案 0 :(得分:2)
您需要一个 C 编译器来编译您的 C 代码并将其链接到本机可执行文件。但这就是你所需要的。
在这方面1,C 和 Java 之间的区别在于 Java 编译器编译为字节码,而不是本机代码。字节码不是直接可执行的。要执行字节码,您需要 JDK 或 JRE2。 (例如,也可以使用 jlink
从 Java 字节码生成可执行文件,但它具有嵌入式 JRE。)
由标准 JRE 或 JDK 提供的 java
可执行文件启动并运行 Java 虚拟机 (JVM)。 JVM 的功能通常包括:
此(例如 java
命令)作为本机应用程序实现。现有的实现是用 C 和 C++ 编码的,但这不是绝对的要求。
您并非绝对需要 C 或 Java 的 IDE。两者都可以使用简单的文本编辑器开发,并从命令提示符编译。 IDE 是“不错的选择”......
1 - 当然还有许多其他差异。
2 - JRE 和 JDK 是两种不同类型的 Java 发行版的名称。 JRE 由用于运行 Java 应用程序的工具和库组成。一个 JRE 添加 开发工具;例如编译器、打包器、调试器等等。 (但不是 IDE。)
答案 1 :(得分:1)
IDE 是集成开发环境,它是某种用于开发的前端或 GUI,即 Eclipse(用于 Java 和 C/C++)具有代码突出显示等功能,...IDE 可用于更复杂的项目以保持领先地位。 Java 和 C 的主要区别在于 Java 是一种解释性语言,它需要 JVM(Java 虚拟机,实现为 stack machine)才能运行,而 C 则直接转换为汇编语言然后是直接在处理器上运行的 opcode
JVM 本身是用 C/C++ 编写的,JVM 为处理器生成操作码
处理器无法理解 JAva 字节码,只有 JVM 才能理解,然后将其转换为 ISA 操作码(ISA -> 指令集架构)
https://en.wikipedia.org/wiki/Java_bytecode_instruction_listings