2012-01-15 73 views
1

经过几天的调试我的Windows Mobile应用程序后,我得出结论,我得到的错误只是由我添加的代码std::list造成的。STL容器支持Windows Mobile

刚刚添加该小块代码后:

std::list<int> x; 
x.push_back(234); 

我的应用程序的迷恋。

因此,我的问题出现了:哪些STL的容器可以在Windows Mobile中使用,哪些不能?

我找到了this question,但我没有发现它对我的问题有用。

+0

哦,亲爱的,再次损坏堆 – 2012-01-15 23:02:58

+0

@HansPassant你是什么意思? – Patryk 2012-01-15 23:09:30

+0

@ Patryk:Noobie的问题,但你正在初始化(分配内存)你的列表? – jp2code 2012-01-16 17:33:47

回答

2

如果你的程序编译并链接正常,不应该有任何缺失或崩溃(对于已删除或不支持的东西,你应该期望编译器错误(例如“未知变量/函数/ whater”或某种预处理器警告/错误)更可能是你的代码中有一些其他的东西搞乱了你有没有试图用最小的程序来重现问题

+0

我检查过的唯一的东西就是s当我用STL容器添加一些代码时,我的程序仍在编译,但是我得到一个PInvoke错误 - 因为我的C++ dll库链接到了我的C#Windows Mobile应用程序。 – Patryk 2012-01-15 23:01:30

+0

Ew!这可能是原因。你可能试图从调试和发布版本或类似的东西中混合和匹配STL的东西。您是否尝试使用或链接较旧/较新的代码(例如VS2010 + VS2008)? – Mario 2012-01-15 23:21:15

+0

这是什么意思?我有一个解决方案和项目包含在我的VS2008解决方案中。 [类似这样](http://img641.imageshack.us/img641/9162/mobile1.png) – Patryk 2012-01-15 23:31:46