Jak ustalić, czy korzystam z 32-bitowej lub 64-bitowej wersji programu Matlab?Działa na macierzy matlab 32- lub 64-bitowej?
Mam wstępnie skompilowane pliki mex, które wymagają różnych ścieżek w zależności od matlab 32/64-bit.
Jak ustalić, czy korzystam z 32-bitowej lub 64-bitowej wersji programu Matlab?Działa na macierzy matlab 32- lub 64-bitowej?
Mam wstępnie skompilowane pliki mex, które wymagają różnych ścieżek w zależności od matlab 32/64-bit.
objęciem na ScottieT812 i DWJ sugestie, ja pisać własne rozwiązanie, aby zarobić trochę punktów.
Funkcja computer
zwraca architekturę, z której korzystam. tak:
switch computer
case 'GLNX86'
display('32-bit stuff')
case 'GLNXA64'
display('64-bit stuff')
otherwise
display('Not supported')
end
działa na mnie
Czy to naprawdę działa? Którą wersję programu Matlab używasz?
O ile jestem świadomy platformy 64-bitowe skończyć z „64” nie 86. Z witryny Matlab http://www.mathworks.com/access/helpdesk/help/techdoc/ref/computer.html Nie sądzę, że komputer zostanie kiedykolwiek powrócić GLNXA86 ale GLNXA64 zamiast.
To pytanie dotyczy wersji GNU Linux 32bit lub 64bit.
Jeśli testujesz na dowolnej platformie 64-bitowej, to prawdopodobnie trzeba przetestować ostatnie 2 znaki znaleźć „64”, czyli coś jak
if regexp(computer,'..$','match','64'),
% setup 64bit options
else,
% 32bit options
end
+1 dla odpowiedzi niezależnej od systemu operacyjnego (to znaczy działa dla windoze) –
Kwestia 32 vs 64 bity jest naprawdę czerwony śledź . Jeśli dobrze rozumiem, chcesz określić, który zbiór skompilowanych plików MEX jest potrzebny, abyś mógł właściwie ustawić ścieżkę. W tym celu można użyć funkcji 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.
SO podpowiedź: post to jako odpowiedź na swoje pytanie i można zarobić odznaki. –
Wskazówka, część 2: Przyjmij odpowiedź, aby inni wiedzieli, że ma solidne rozwiązanie. – dwj