Windows使用libimobiledevice

  • 6469
  • 0

Windows使用libimobiledevice Library

使用的Library来自 http://www.bingtech.net/wordpress/2011/03/189/ 。但是在直接编译中有一些问题需要解决。

1. CrtIsValidHeapPointer崩溃

原因是free的内存不是在一个堆上申请的,这个主要是由libimobiledevice申请的内存,即,当libimobiledevice生成的内存需要使用如下方式free:

typedef void (*MYFREEFUNC)(void *memblock);
MYFREEFUNC Myfree;
void InitFreeFunc()
{
HMODULE hMod = LoadLibrary(_T("msvcrt.dll"));
Myfree = (MYFREEFUNC)GetProcAddress(hMod, "free");
}

使用Myfree进行free。

2. Release版本指针引用崩溃

由于Release的代码优化导致,找到“配置属性”-》“连接器”-》“优化”,把右边的“引用”值改成/OPT:NOREF

 

 

------------------------------

文章的授權使用CC BY-ND2.5協議。凡是標示“轉載”的文章,均來源於網絡並儘可能標註作者。如果有侵犯您的權益,請及時聯繫刪除或者署名、授權。


Gtalk/Email: cmd4shell  [at]  gmail.com