我是Windows编程的新手,我只是"迷失"两个小时寻找一个每个人都知道的错误:你不能在DLL中创建一个对象并在另一个DLL(或主程序)中销毁它.
我几乎可以肯定,在Linux/Unix上,情况并非如此(如果是的话,请说出来,但我很确定我做了数千次而没有问题......).
在这一点上,我有几个问题:
1)静态链接的DLL使用与主程序不同的堆吗?
2)静态链接的DLL是否映射在主程序的同一进程空间中?(我很确定这里的答案是一个很大的问题,否则将主程序中的函数指针传递给DLL中的函数是没有意义的.)
我说的是普通/常规DLL,而不是COM/ATL服务
编辑:通过"静态链接"我的意思是我不使用LoadLibrary加载DLL但我链接到存根库