最近开始看侯大翻译的《win32多线程程序设计》,提到:
内存可以大致分为三种类型:
Code:readonly,CPU唯一允许执行的内存
Data:程序中的所有变量(不包括函数中的局部变量),可区分为全局变量和静态变量两种,线程也可以使用malloc或者new动态配置内存。
十分感谢!
你应该去搜索一下PE的格式,data code等段的解释看PE的格式比较清楚。
在win32下,线程调用malloc和new分配的存储实在CRT堆上进行的。局部变量存储在栈,函数调用需要保存调用地址信息,参数信息等,需要进行一系列的入栈出栈操作,这时候使用的存储是栈空间。
推荐给你一本书:
查看了下PE格式和《程序员的自我修养- 链接、装载与库》,十分地悲催表示下:自己的功力还是不够的,只好留着给以后的自己看了。