In esecuzione su matlab a 32 o 64 bit?
Domanda
Come posso determinare se sto utilizzando una versione a 32 bit o 64 bit di matlab?
Ho alcuni file messicani precompilati che richiedono percorsi diversi a seconda del matlab a 32/64 bit.
Soluzione 2
Seguendo i suggerimenti di ScottieT812 e dwj, inserisco la mia soluzione per guadagnare punti.
La funzione computer
restituisce l'architettura su cui sto correndo. così:
switch computer
case 'GLNX86'
display('32-bit stuff')
case 'GLNXA64'
display('64-bit stuff')
otherwise
display('Not supported')
end
funziona per me
Altri suggerimenti
La domanda tra 32 e 64 bit è davvero un'aringa rossa. Se ho capito bene, vuoi determinare quale set di file MEX compilati sono necessari in modo da poter impostare il percorso in modo appropriato. Per questo, puoi usare la funzione 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.
Funziona davvero? Quale versione di Matlab stai usando?
Per quanto ne so, le piattaforme a 64 bit finiscono con "64" non 86. Dal sito matlab http://www.mathworks.com/access/helpdesk/ help / techdoc / ref / computer.html Non penso che il computer restituirà mai GLNXA86 ma GLNXA64 invece.
Quindi questa domanda è specifica per GNU Linux versione a 32 bit o 64 bit.
Se stai testando una piattaforma a 64 bit, probabilmente dovrai testare gli ultimi 2 caratteri per trovare "64" cioè qualcosa come
if regexp(computer,'..,'match','64'),
% setup 64bit options
else,
% 32bit options
end