従来Windows版MEX関数の拡張子は.DLLだったが、2005年8月にリリースされたMATLAB 7.1から、拡張子が.dllから.mexw32に変更になった。これにより、将来の64ビット化へ対応と、UNIX版との拡張子のネーミングの統一性などを高めることができるようになった。
Windows x86 - .mexw32
Windows x64 - .mexw64
glnx86 - .mexglx
glnxa64 - .mexa64
Mac OS X - .mexmac
sol2, SunOS 5.x - .mexsol
hpux - .mexhpux

しかしこの変更には、問題点もある。

それは、互換性のため従来のDLLの拡張子も使えるようになっているため、2つのファイル名が同じで拡張子(mexw32とdll)が異なるファイルが存在した場合である。
このような場合には、MATLABでは、以下のように対応するようになっており、これらを理解しておくと便利である。

MATLAB7.1以降のバージョンでの対応ルール

MATLABサーチパスに同名のファイルが存在したとき、
もし、2つのファイルが同じディレクトリにあったならば、mexw32が優先される。
異なるディレクトリの場合には、サーチパスの優先順位の高い方となる。
ソースファイルがある場合には、従来通りのやり方で再コンパイルするだけで簡単にmexw32ファイルを作ることができる。

   
© Gerox com