C main函数和Java main函数有什么区别?
int main( int argc, const char* argv[] )
Run Code Online (Sandbox Code Playgroud)
VS
public static void main(String [] args)
Run Code Online (Sandbox Code Playgroud)
这些主要功能如何与每种语言创建相关,每种语言的好处或结果如何?
C(主函数)中的入口点由C++编译器工具链中的链接器用于在指定可执行目标时运行可执行文件时运行(否则忽略该函数).此入口点是可执行规范的一部分,并且非常静态.它依赖于机器代码位于特定的具体内存地址.想象一下,我们将args数组指针和args计数放在内存中的堆栈中,该内存是在操作系统运行可执行文件时设置的,然后运行机器代码.另外,C函数有一个int返回类型,用于返回shell的失败或成功(通常是EXIT_SUCCESS(通常为0)或EXIT_FAILURE).
Java中的入口点(主方法)是动态的,因为Java本身是一种解释的JIT语言,并且依赖于使用此方法的类在类路径上,并在执行'java'命令时指定.在查找主方法驻留在字节码中的位置,然后通过字节码解释器运行内容时,需要进行一些处理.args数组也会进入堆栈以供方法体使用,但是它的设置比它更多,因为它是一个数组对象 - 我们让它在通过JNI等启动后转换它.Java在main方法中没有返回类型,但是可以抛出未经检查的异常来指示失败(可能).
| 归档时间: |
|
| 查看次数: |
362 次 |
| 最近记录: |