main函数调用main会崩溃吗?

实例代码如下:
int main()
{
    cout<<"hello"<<endl;
    main();
    return 0;
}
    整个代码在主函数中实现了循环调用,刚才使用QT编译运行正常,没有导致崩溃,循环调用是否会因为堆栈溢出,而导致程序崩溃,那么什么时候程序才会出现崩溃的迹象!!
时间: 2024-10-22 07:46:02

main函数调用main会崩溃吗?的相关文章

Linux环境编程之进程(一):main函数调用、进程终止以及命令行参数和环境表

(一)main函数调用 main函数作为程序运行时的入口函数,它是如何被调用的呢?首先必须清楚一点,main函数也是一个函数,它只有被调用才能够执行.其实,在执行可执行程序时,在调用main函数之前,内核会先调用一个特殊的启动例程,将此启动例程作为可执行程序的起始地址.启动例程是如何作为可执行程序的起始地址的?这是由链接编译器设置的,而链接编译器则是由C编译器(如gcc编译器)调用的.启动例程作为可执行程序的起始地址主要做哪些工作呢?启动例程从内核取得命令行参数和环境变量值,以此来为main函数

void main() &amp;&amp; int main()

不存在void main(),只有int main() void main 主函数没有返回值,main 默认为int 型,即 int main(), 返回整数.注意,新标准不允许使用默认返回值,即int不能省,而且对应main函数不再支持void型返回值,因此为了使程序有很好的移植性,强烈建议使用:     int main()     {          return 0; /* 新标准主函数的返回值这条语句可以省略 */       }      返回值的作用:     main函数的返回

进程环境详解(一)---main函数调用

通常我们认为 main 函数是整个程序的入口,当然这也仅仅是我们的认为,实际上整个可执行文件的入口点并不是 main 函数,而是一个名为 _start 的标号.这一点在笔记 “ARM裸机->关于链接脚本中程序入口”中提到了. 在ARM裸机中,我们编写的 c 程序中也会有 main 函数,但是我们是会在 start.S 这个文件中去调用 main 函数,从而进入到 c 语言环境中,而这个 start.S 我们称为启动代码.在start.S中我们会做各种初始化工作,为 c 语言程序的运行提供环境.

JAVA多态计算面积main函数调用方法

public static void main(String[] args) { Shape shape; Scanner input = new Scanner(System.in); System.out.println("请选择图形(1.圆形 2.矩形 3.三角形)"); int a = input.nextInt(); if(a == 1){ System.out.println("请输入圆形的边长:"); double r = input.nextDoub

基础快速过 之C语言 一:什么是 main 和main的几种写法。

1.什么是 main? 如果你要给我 钞票. 我有以下几种方式 1.知道我的支付宝账号 2.知道我的银行卡账号 3.知道我的住址 知道 以上一种方式即可 给我 钞票 对吧. 那么 当你 写完一个程序 你该怎么让 系统 知道 你程序的 入口? main就是告诉 系统. program:system this is my interface(插进来就可以). system:ok.let's go(好,我插). main也称 主函数. 其他的函数 包括自己写的函数 都在mian里面运行. 2.main

HttpURLConnection在main函数中和tomcat启动后执行的区别

当有一个HttpURLConnection请求类时, 在用main函数调用能狗返回值,但是tomcat启动后,程序调用又返回值为空,如下: 如上图,在不知道别人方法怎么处理的情况下,我门的参数应该完全模拟前端 试一下如下方式 给中文参数加上URLEncoder.

C++ main()函数及其参数

1.首先,想想C/C++在main函数之前和之后会做些什么? 我们看看底层的汇编代码: __start: : init stack; init heap; open stdin; open stdout; open stderr; : push argv; push argc; call _main; (调用 main) : destory heap; close stdin; close stdout; close stderr; : call __exit; 我们可以看到main函数也只是其

[汇编与C语言关系]2. main函数与启动例程

为什么汇编程序的入口是_start,而C程序的入口是main函数呢?以下就来解释这个问题 在<x86汇编程序基础(AT&T语法)>一文中我们汇编和链接的步骤是: $ as hello.s -o hello.o $ ld hello.o -o hello 我们用gcc main.c -o main开编译一个c程序,其实际分为三个步骤:编译.汇编.链接 $ gcc -S main.c 生成汇编代码 $ gcc -c main.s 生成目标文件 $ gcc main.o 生成可执行文件 我们

Java Main如何被执行?

java应用程序的启动在在/hotspot/src/share/tools/launcher/java.c的main()函数中,而在虚拟机初始化过程中,将创建并启动Java的Main线程.最后将调用JNIEnv的CallStaticVoidMethod()来执行main方法. CallStaticVoidMethod()对应的jni函数为jni_CallStaticVoidMethod,定义在/hotspot/src/share/vm/prims/jni.cpp中,而jni_CallStatic