Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/159.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 什么';应用程序与x27之间的区别是什么;s输入点地址和可执行的起始地址_C++_C_Operating System - Fatal编程技术网

C++ 什么';应用程序与x27之间的区别是什么;s输入点地址和可执行的起始地址

C++ 什么';应用程序与x27之间的区别是什么;s输入点地址和可执行的起始地址,c++,c,operating-system,C++,C,Operating System,最近,我专注于源代码的编译过程。当我读这本书时,我遇到了两个专业词汇:输入点地址和可执行的起始地址。我只知道输入点地址是0x0。但我不知道它们之间的区别。术语很模糊,但我想我知道你们在说什么。语言需要运行时支持。C语言和C++语言是CRT的标准。CRT需要在程序开始运行之前初始化。打开stdout和stdin,初始化静态对象,设置信号,诸如此类的事情 通过两种基本方法,编译器可以在程序的main()入口点中插入对初始化代码的调用。在main()中的其余代码之前。这对于没有高级加载程序的简单操作系

最近,我专注于源代码的编译过程。当我读这本书时,我遇到了两个专业词汇:输入点地址和可执行的起始地址。我只知道输入点地址是0x0。但我不知道它们之间的区别。

术语很模糊,但我想我知道你们在说什么。语言需要运行时支持。C语言和C++语言是CRT的标准。CRT需要在程序开始运行之前初始化。打开stdout和stdin,初始化静态对象,设置信号,诸如此类的事情

通过两种基本方法,编译器可以在程序的main()入口点中插入对初始化代码的调用。在main()中的其余代码之前。这对于没有高级加载程序的简单操作系统来说是典型的。入口点和可执行文件的起始地址都相同。这也是语言标准禁止递归main()的原因


也可以通过将可执行文件的起始地址设置为运行时初始化函数来完成。然后在初始化之后,调用程序的入口点。在Linux和Windows等更高级的操作系统上很常见。

术语很模糊,但我想我知道你在说什么。语言需要运行时支持。C语言和C++语言是CRT的标准。CRT需要在程序开始运行之前初始化。打开stdout和stdin,初始化静态对象,设置信号,诸如此类的事情

通过两种基本方法,编译器可以在程序的main()入口点中插入对初始化代码的调用。在main()中的其余代码之前。这对于没有高级加载程序的简单操作系统来说是典型的。入口点和可执行文件的起始地址都相同。这也是语言标准禁止递归main()的原因


也可以通过将可执行文件的起始地址设置为运行时初始化函数来完成。然后在初始化之后,调用程序的入口点。在Linux和Windows等更高级的操作系统上很常见。

我想你指的是“入口”点,我想这两个术语是同义词,它们几乎不可能是0x0。我想你指的是“入口”点,我想这两个术语是同义词,它们几乎不可能是0x0。我在互联网上搜索,main()函数不是程序的开始,操作系统将首先运行一个小程序,然后这个小程序将调用main()函数,所以我认为这个小程序可能输入点地址,main()函数是可执行的起始地址。我可以用这个方法来理解两个术语吗?当然可以。术语是模糊的。如果可执行文件格式支持起始地址,那么这就是指向“小程序”的地址。我在互联网上搜索,main()函数不是程序的开头,操作系统将首先运行一个小程序,然后该小程序将调用main()函数,所以我想该小程序可能会输入点地址,main()函数是可执行的起始地址。我可以用这种方法来理解两个术语吗?当然可以。术语是模糊的。如果可执行文件格式支持起始地址,则该地址指向“小程序”。