在DLL中实现对文件的操作,可在实作时候发现,文件指针传递给DLL后,无法对文件进行操作,提示致命错误。DEBUG跟踪发现,dll中在操作文件指针的时候遇见了异常,0x00000005:Acess Violation,此错误是对无效指针操作等非法访问造成.
上网搜索,找到相关文章: FILE指针传递给DLL为何无法正确操作--隐式重复定义的陷阱 (
http://blog.chinaunix.net/u2/79248/showart_1191453.html)
问题原因:出现了隐式重复定义。exe 和DLL中重复定义_iob
解决办法:编译工程都设置成DEBUG MTD(Multi-threaded Debug DLL (/MDd))(use MFSas static library )
环境:DL(VS2005),exe (VC6.0,VS2005)