【发布时间】:2010-03-20 07:04:35
【问题描述】:
我想知道内核如何为简单的 C 程序提供内存。
例如:
#include<stdio.h>
#include<malloc.h>
int my_global = 10 ;
main()
{
char *str ;
static int val ;
str = ( char *) malloc ( 100 ) ;
scanf ( "%s" , str ) ;
printf( " val:%s\n",str ) ;
free(str) ;
return 1 ;
}
看,在这个程序中,我使用了 static 、 global 和 malloc 来分配动态内存 那么,内存将如何布局……? 任何人给我 url ,其中将包含有关此过程的详细信息..
【问题讨论】:
-
my_global和val可能会被优化移除。 -
布局部分取决于编译器/链接器,部分取决于操作系统。您需要指定哪个。
标签: c