Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.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 函数和程序指令存储器_C_Memory Management - Fatal编程技术网

C 函数和程序指令存储器

C 函数和程序指令存储器,c,memory-management,C,Memory Management,我一直在寻找这些问题,但找不到任何问题 1) 函数声明和定义本身是否存储在堆栈中? 我知道它们的变量是,但是函数本身呢 2) 程序指令/文本区域在进程的内存段中指的是什么?示例?否。堆栈用于存储函数调用顺序和上下文,当您从函数调用和返回时。这还包括这些函数的局部变量。堆栈位于存储器的(优选不可执行的)读写数据部分中 整个程序的代码本身(通常)位于只读可执行内存中的.text部分 如果您使用的是Linux,请查看readelf实用程序,该实用程序将告诉您加载到内存时ELF可执行文件的布局 如果您使

我一直在寻找这些问题,但找不到任何问题

1) 函数声明和定义本身是否存储在堆栈中? 我知道它们的变量是,但是函数本身呢


2) 程序指令/文本区域在进程的内存段中指的是什么?示例?

否。堆栈用于存储函数调用顺序和上下文,当您从函数调用和返回时。这还包括这些函数的局部变量。堆栈位于存储器的(优选不可执行的)读写数据部分中

整个程序的代码本身(通常)位于只读可执行内存中的
.text
部分

如果您使用的是Linux,请查看
readelf
实用程序,该实用程序将告诉您加载到内存时ELF可执行文件的布局


如果您使用的是Windows PE Explorer,它将执行类似的操作,尽管它已经过时,不是免费的,并且不支持64位(PE32 Plus)可执行文件。

否。堆栈用于存储函数调用顺序和上下文,就像您从函数调用和返回一样。这还包括这些函数的局部变量。堆栈位于存储器的(优选不可执行的)读写数据部分中

整个程序的代码本身(通常)位于只读可执行内存中的
.text
部分

如果您使用的是Linux,请查看
readelf
实用程序,该实用程序将告诉您加载到内存时ELF可执行文件的布局


如果您使用的是Windows PE Explorer,它将执行类似的操作,尽管它已经过时,不是免费的,并且不支持64位(PE32 Plus)可执行文件。

否。堆栈用于存储函数调用顺序和上下文,就像您从函数调用和返回一样。这还包括这些函数的局部变量。堆栈位于存储器的(优选不可执行的)读写数据部分中

整个程序的代码本身(通常)位于只读可执行内存中的
.text
部分

如果您使用的是Linux,请查看
readelf
实用程序,该实用程序将告诉您加载到内存时ELF可执行文件的布局


如果您使用的是Windows PE Explorer,它将执行类似的操作,尽管它已经过时,不是免费的,并且不支持64位(PE32 Plus)可执行文件。

否。堆栈用于存储函数调用顺序和上下文,就像您从函数调用和返回一样。这还包括这些函数的局部变量。堆栈位于存储器的(优选不可执行的)读写数据部分中

整个程序的代码本身(通常)位于只读可执行内存中的
.text
部分

如果您使用的是Linux,请查看
readelf
实用程序,该实用程序将告诉您加载到内存时ELF可执行文件的布局


如果您使用的是Windows PE Explorer,则会执行类似的操作,尽管它已经过时,不是免费的,并且不支持64位(PE32+以上)可执行文件。

函数声明和定义是语法结构,如逗号或括号。它们只存在于源代码中,不存储在任何地方

另一方面,函数是在运行时存在并具有地址的东西。未指定thst地址所在的位置。就C而言,函数和数据属于完全不同的地址空间。他们的地址不能混用。所以你甚至不能问它是否在堆栈上,这个问题定义不清


C没有程序指令、段或过程的概念,因此在C的上下文中谈论它们也没有意义。您需要指定您的架构URR和操作系统,以便能够讨论它们。

函数声明和定义是语法结构,如逗号或一对括号。它们只存在于源代码中,不存储在任何地方

另一方面,函数是在运行时存在并具有地址的东西。未指定thst地址所在的位置。就C而言,函数和数据属于完全不同的地址空间。他们的地址不能混用。所以你甚至不能问它是否在堆栈上,这个问题定义不清


C没有程序指令、段或过程的概念,因此在C的上下文中谈论它们也没有意义。您需要指定您的架构URR和操作系统,以便能够讨论它们。

函数声明和定义是语法结构,如逗号或一对括号。它们只存在于源代码中,不存储在任何地方

另一方面,函数是在运行时存在并具有地址的东西。未指定thst地址所在的位置。就C而言,函数和数据属于完全不同的地址空间。他们的地址不能混用。所以你甚至不能问它是否在堆栈上,这个问题定义不清


C没有程序指令、段或过程的概念,因此在C的上下文中谈论它们也没有意义。您需要指定您的架构URR和操作系统,以便能够讨论它们。

函数声明和定义是语法结构,如逗号或一对括号。它们只存在于源代码中,不存储在任何地方

另一方面,函数是在运行时存在并具有地址的东西。未指定thst地址所在的位置。就C而言,函数和数据属于完全不同的地址空间。他们的地址不能混用。所以你甚至不能问它是否在堆栈上,这个问题定义不清

C没有程序指令或segm的概念