c++ - 为什么在c/c++中main函数首先运行?

标签 c++ c

为什么 main() 函数首先运行然后其他函数如果我们希望另一个函数先运行然后 main 函数在 c 或 c++ 中怎么办? 谁能解释一下其背后的逻辑。谢谢。

最佳答案

因为这就是标准定义要使用的语言(此处引用 C++):

[basic.start.main]

A program shall contain a global function called main. Executing a program starts a main thread of execution (...) in which the main function is invoked (...)

因此,编译器必须以一种在操作系统启动程序时调用 main 的方式生成二进制文件,或者在独立环境中,在加载程序时调用 main

从技术上讲,它不必是生成的程序集中的第一个调用。编译器可以插入一些额外的启动代码(例如初始化变量等),这些代码本身可以分组为函数。这是 C++ 程序开发人员所关心的,但在嵌入式系统中变得非常重要,因为您需要/想要了解几乎每条执行的指令。

关于c++ - 为什么在c/c++中main函数首先运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52116975/

相关文章:

c++ - 在 C++ 中获取用户名和域

c++ - ^(脱字符号)在 C++ 中的含义是什么,如在 String 中^

c - 套接字编程中没有主机错误的路由

c - 处理数千个参数的参数设置操作

C代码编码器! (数组)(嵌套循环)(fgets)(语法?)

c++ - 加载项目后 QFileDialog 显示不正常

c++ - Qt 未记录的方法 setSharable

c++ - 套接字编程 简单聊天 C++

c - 为什么我使用 eztrace 拍摄的运行时图像不显示线程空闲?

c - GTK 和滚动 TextView