解决exe和DLL直接传递FILE 指针崩溃的问题
EXE程序和DLL之间可能传递FILE指针,但是可能会造成程序崩溃。这是由于_lock_file引起的
if ( (pf >= _iob) && (pf <= (&_iob[_IOB_ENTRIES-1])) ) 把fp和一个全局变量_iob比较,exe和DLL可能会有不同的全局变量,这导致fp不在_iob数组的范围内,导致出现错误。
解决的颁发是exe和DLL都动态连接到CRT,或者把DLL编译成静态库。
转载
2017-02-15 18:24:43 ·
939 阅读 ·
0 评论