Laufen auf 32 oder 64 Bit Matlab?
Frage
Wie kann ich feststellen, ob ich auf einem 32-Bit- oder eine 64-Bit-Version von Matlab renne?
Ich habe einige vorkompilierte mex-Dateien, die je unterschiedlichen Pfad des benötigen auf 32/64-Bit-Matlab.
Lösung 2
Nehmen auf ScottieT812 und dwj Vorschläge, poste ich meine eigene Lösung einige Punkte zu sammeln.
Die Funktion computer
gibt die Architektur Ich laufe auf. so:
switch computer
case 'GLNX86'
display('32-bit stuff')
case 'GLNXA64'
display('64-bit stuff')
otherwise
display('Not supported')
end
funktioniert für mich
Andere Tipps
Die Frage der 32 vs. 64 Bit ist wirklich eine falsche Fährte. Wenn ich richtig verstehe, wollen Sie bestimmen, welcher Satz von kompilierten MEX-Dateien benötigt, so dass Sie den Pfad entsprechend einstellen. Dazu können Sie die Funktion mexext
verwenden:
>> 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.
Ist das wirklich funktionieren? Welche Version von Matlab verwenden Sie?
Soweit ich bin mir bewusst, die 64-Bit-Plattformen mit „64“ enden nicht 86. Von der Matlab-Website http://www.mathworks.com/access/helpdesk/ help / TechDoc / ref / computer.html ich glaube nicht, dass der Computer jemals zurückkehren GLNXA86 aber GLNXA64 statt.
Also diese Frage ist spezifisch für GNU Linux 32bit oder 64bit-Version.
Wenn Sie für jede 64-Bit-Plattform testen dann müssen Sie wahrscheinlich die letzten zwei Zeichen testen „64“ heißt so etwas wie
findenif regexp(computer,'..$','match','64'),
% setup 64bit options
else,
% 32bit options
end