32または64ビットMATLABで実行していますか?
質問
matlabの32ビットバージョンと64ビットバージョンのどちらで実行しているかを判断するにはどうすればよいですか?
32/64ビットmatlabに応じて異なるパスを必要とするいくつかのプリコンパイルされたmexファイルがあります。
解決 2
ScottieT812とdwjの提案を参考に、独自のソリューションを投稿してポイントを獲得します。
computer
関数は、実行中のアーキテクチャを返します。 so:
switch computer
case 'GLNX86'
display('32-bit stuff')
case 'GLNXA64'
display('64-bit stuff')
otherwise
display('Not supported')
end
私のために働く
他のヒント
32ビットと64ビットの問題は本当に赤いニシンです。正しく理解できれば、パスを適切に設定できるように、必要なコンパイル済みMEXファイルのセットを決定する必要があります。これには、 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.
これは本当に機能しますか?どのバージョンのmatlabを使用していますか?
私が知る限り、64ビットプラットフォームの末尾は" 64"です。 86ではありません。MATLABサイトから http://www.mathworks.com/access/helpdesk/ help / techdoc / ref / computer.html コンピューターはGLNXA86ではなくGLNXA64を返すとは思いません。
したがって、この質問はGNU Linux 32ビットまたは64ビットバージョンに固有のものです。
任意の64ビットプラットフォームをテストしている場合は、おそらく「64」を見つけるために最後の2文字をテストする必要があります。すなわち
のようなものif regexp(computer,'..,'match','64'),
% setup 64bit options
else,
% 32bit options
end
所属していません StackOverflow