AP是用VC6.0写的,里面声明了一个std::list<xxx>的对象,将其地址传到由VC2005编译的dll中使用,会出现错误。
看起来,输入的参数在VC6中是空的,但是进入VC2005后,这个链表就包含一个成员,成员的内容是乱码,且不允许清空。请问这是什么问题?
谢谢。

解决方案 »

  1.   

    编译时是用的lib,执行调用的dll,但是会出问题。
    如果对象声明的是类的成员变量,就会在dll中执行clear时出现内存错。
    如果是局部变量,不会出现内存错误,但是添加元素操作不成功。因为dll的程序有些VC6.0不支持,而AP用VC6.0写的也很难改写,所以需要把这个问题解决掉才行。
    谢谢。
      

  2.   

    貌似dll对stl的支持不太好
    不能编译成静态库吗?
      

  3.   

    创建的时候选择了支持MFC的动态链接库,已经基本成形了。
    还能快捷的装成静态接连库吗?
    很惭愧的问。
      

  4.   

    新建一个lib文件工程,然后把头文件和源文件添加进去,编译就可以了
    注意,头文件不需要设置导入导出的