这个问题非常地恶心,搞了我一段时间,做好的DLL让别人调用的时候总是出错,而且出错的位置千奇百怪,还不一样,尼玛啊!后来发现原来string是STL里的,所以不同编译器对它的处理是不一样的,做好了DLL之后,当别人调用的时候可能使用别的编译器,这样就很可能会出现,问题的终结是在我看了这个帖子之后:
http://topic.csdn.net/u/20080303/22/29e503b2-7c29-4384-8753-01990e4c837d.html
果然高手辈出啊。以后再也不能用STL这种高级货搞传参了。
虽然建议使用char,但是感觉char太难用了,还不能直接做比较,然后自己本身的这个工程中string这个参数的值就那么几个,也都是知道的,于是果断使用了enum类型,用这个类型来传递参数,果断解决问题!