Làm thế nào tôi có thể xác định xem mình đang chạy trên phiên bản 32 bit hoặc 64bit của MATLAB?Chạy trên màn hình nền 32 hoặc 64 bit?
Tôi có một số tệp mex được biên dịch trước cần đường dẫn khác nhau tùy thuộc vào nền tảng 32/64bit.
Làm thế nào tôi có thể xác định xem mình đang chạy trên phiên bản 32 bit hoặc 64bit của MATLAB?Chạy trên màn hình nền 32 hoặc 64 bit?
Tôi có một số tệp mex được biên dịch trước cần đường dẫn khác nhau tùy thuộc vào nền tảng 32/64bit.
Chiếm trên ScottieT812 và dwj gợi ý, tôi gửi giải pháp của riêng mình để kiếm được một số điểm.
Chức năng computer
trả về kiến trúc mà tôi đang chạy. vậy:
switch computer
case 'GLNX86'
display('32-bit stuff')
case 'GLNXA64'
display('64-bit stuff')
otherwise
display('Not supported')
end
công trình đối với tôi
Điều này thực sự có hiệu quả không? Bạn đang sử dụng phiên bản MATLAB nào?
Theo tôi biết nền tảng 64 bit kết thúc bằng "64" không phải 86. Từ trang web MATLAB http://www.mathworks.com/access/helpdesk/help/techdoc/ref/computer.html Tôi không nghĩ rằng máy tính đó sẽ trả về GLNXA86 nhưng thay vào đó là GLNXA64.
Vì vậy, câu hỏi này dành riêng cho phiên bản GNU 32bit hoặc 64bit.
Nếu bạn đang thử nghiệm cho bất kỳ nền tảng 64bit thì có thể bạn cần phải kiểm tra 2 ký tự cuối cùng để tìm "64" tức là một cái gì đó giống như
if regexp(computer,'..$','match','64'),
% setup 64bit options
else,
% 32bit options
end
+1 cho câu trả lời độc lập của hệ điều hành (tức là tính năng này hoạt động để có gió) –
Câu hỏi 32 vs 64 bit thực sự là một cá trích đỏ . Nếu tôi hiểu chính xác, bạn muốn xác định tập hợp các tệp MEX đã biên dịch nào cần thiết để bạn có thể đặt đường dẫn phù hợp. Đối với điều này, bạn có thể sử dụng chức năng 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 gợi ý: Đăng này như một câu trả lời cho câu hỏi của riêng bạn và bạn có thể kiếm được một huy hiệu. –
SO gợi ý, phần 2: Và chấp nhận câu trả lời để người khác biết nó có một giải pháp vững chắc. – dwj