Vous utilisez matlab 32 ou 64 bits?
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.
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