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.

War es hilfreich?

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

finden
if regexp(computer,'..$','match','64'),
   % setup 64bit options
else,
   % 32bit options
end
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top