stl, lib, dll, LoadLibrary fail.....
ed9er 2002-01-07 04:47:25 在lib中定义list,在dll初始化过程中操作它,load失败,why?
// lib.cpp
#include <list>
std::list<char *> s_list;
// eof lib.cpp
// dll.cpp
#include <list>
#pragma comment(lib, "../lib/debug/lib.lib")
extern std::list<char *> s_list;
char *str = "djfaskljf";
class Object {
public:
Object();
~Object();
};
Object::Object() {
s_list.push_front(str);
}
Object::~Object() {
s_list.remove(str);
}
Object instance;
// eof dll.cpp
// exe.cpp
#include <windows.h>
#include <stdio.h>
int main () {
printf("%x\r\n", LoadLibrary("../../dll/debug/dll.dll"));
return 0;
}
// eof exe.cpp
全部三个project的C/C++运行库都是Multi threaded DLL,还有heap的问题么?
如果把pragma那句去掉,把extern去掉,也就是在dll中定义list,则正常
vc的bug?我是6+sp5,迷茫。。。