Question

Comment puis-je déterminer si j'utilise une version 32 bits ou 64 bits de matlab?

J'ai des fichiers mex précompilés qui nécessitent un chemin différent en fonction du matlab 32/64 bits.

Était-ce utile?

La solution 2

Reprenant les suggestions de ScottieT812 et de dwj, je publie ma propre solution pour gagner des points.

La fonction ordinateur renvoie l'architecture sur laquelle je travaille. alors:

switch computer
    case 'GLNX86'
        display('32-bit stuff')
    case 'GLNXA64'
        display('64-bit stuff')
    otherwise
        display('Not supported')
end

travaille pour moi

Autres conseils

La question des 32 bits contre 64 bits est vraiment un fil rouge. Si je comprends bien, vous voulez déterminer quel ensemble de fichiers MEX compilés est nécessaire pour pouvoir définir le chemin correctement. Pour cela, vous pouvez utiliser la fonction mexext :

>> help mexext
 MEXEXT MEX filename extension for this platform, or all platforms. 
    EXT = MEXEXT returns the MEX-file name extension for the current
    platform. 

    ALLEXT = MEXEXT('all') returns a struct with fields 'arch' and 'ext' 
    describing MEX-file name extensions for all platforms.

    There is a script named mexext.bat on Windows and mexext.sh on UNIX
    that is intended to be used outside MATLAB in makefiles or scripts. Use
    that script instead of explicitly specifying the MEX-file extension in
    a makefile or script. The script is located in $MATLAB\bin.

    See also MEX, MEXDEBUG.

Est-ce que ça marche vraiment? Quelle version de matlab utilisez-vous?

Autant que je sache, les plates-formes 64 bits se terminent par "64". pas 86. Sur le site matlab http://www.mathworks.com/access/helpdesk/ help / techdoc / ref / computer.html Je ne pense pas que cet ordinateur renvoie jamais GLNXA86 mais GLNXA64 à la place.

Cette question est donc spécifique à la version GNU Linux 32 bits ou 64 bits.

Si vous testez une plate-forme 64 bits, vous devez probablement tester les 2 derniers caractères pour rechercher " 64 " c'est-à-dire quelque chose comme

if regexp(computer,'..,'match','64'),
   % setup 64bit options
else,
   % 32bit options
end
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top