高手请进,关于DLL和BPL内部机制,在线等待!(100分)

  • 主题发起人 主题发起人 jawdan
  • 开始时间 开始时间
J

jawdan

Unregistered / Unconfirmed
GUEST, unregistred user!
1.DLL分配的内存空间和应用程序分配的内存空间是相互独立的,那么在互相访问内存的时候,是不是有些约定?
我曾经发现,如果在DLL函数中传递对象参数,一般不会报错,但是在传递数据集的时候或者数据库连结的时候,往往会发生内存访问错误。不知道什么原因。
2.在卸载DLL的时候,DLL函数中创建的对象,如果没有释放,将会报错。

BPL虽然很多地方和DLL相似,但还是有些差别,希望能够和大家交流。
1.首先装载的时候,我想还是和DLL一样。
2.内存分配上,肯定也是驻留在主进程的地址空间。每个BPL也都有自己独立的堆栈,但是每个BPL的全局数据区只有一份,也就是说可以共享的。
3.在卸载bPL的时候,只是释放BPL中堆栈的内存,对于全局数据区,将由主进程结束时释放。

欢迎大家批评指正!
将不断跟贴!
 
后退
顶部