小弟的一个32位程序中调用了intel的ipp库(做图像处理的,对cpu做了优化)。现在因为程序需要运行在64位操作系统下,需调用64位的ipp。请问在不重新编译我的程序的前提下,如何实现这种调用。
敬候牛人赐教。

解决方案 »

  1.   

    好像Inter的CPU的不可以他的32与64位指令不兼容!这点不如AMD,他们还吵了很长时间
      

  2.   

    必须要对64位的ipp库专门进行处理!
      

  3.   

    32-bit EXE根本无法调用64-bit DLL,64-bit EXE也无法调用32-bit DLL。解决问题有下面几种选择:
    1. 最好将你的程序Port到64-bit
    2. 如果不行或者太花时间,可以写一个EXE把IPP包装成进程外COM,然后再调用这个进程外COM组件(有可能这个过程比Port本身还花时间)。缺点是要修改程序并且速度慢,考虑到你用IPP的原因是速度快,这个方案对你不适用
    3. 如果你不要求IPP非要是64-bit,那么可以把IPP编译成32-bit就好了。如果你只需支持x64机器的话,并且IPP没有过多API调用,那么基本上没有性能损失