Code Bye

关于dll调用的内存布局模型

之前研究了C++的内存布局,如静态存储区、栈区、堆区等,本人在想之前也有调用dll,那么调用dll时,dll的内存分配是在哪里?
解决方案

5

dll的内存分配就是你本人定义的那个类的分配形式啊

5

在栈下面 堆上面这一个区间的内存区域是用来给dll共享库使用的。这一块包括用来存放共享库的代码和使用的数据。

30

引用:
Quote: 引用:

之前研究了C++的内存布局,如静态存储区、栈区、堆区等,本人在想之前也有调用dll,那么调用dll时,dll的内存分配是在哪里?

恩,你的意思是dll的内存分配是按照本人写的代码来分配的,本人想了解的是,程序调用dll,作为整体的dll内存布局,放在调用程序的哪一块?还是说dll与被调用程序无关,而是仅仅本人在内存中开辟一块内存?

dll做为共享库,与调用的程序在布局上没有关系,是独立的;这也是为什么当有多个程序同时使用同一个dll节省内存的地方;而静态库的布局则是和程序在一起的


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明关于dll调用的内存布局模型