2011-09-19 27 views
10

Tôi có một máy Mac chạy Lion và tôi vừa tải xuống phiên bản apache mới nhất. Tôi đã làm những việc thông thường:Làm thế nào tôi có thể kiểm tra xem một nhị phân được biên dịch là 32bit hay 64it?

$./configure --prefix=/Users/daniels/Sandbox 
$ make 
$ make install 

Kiến trúc nhị phân httpd được biên soạn là gì? 32 hoặc 64? Có cách nào để tìm thấy điều này không? Điều tôi đang tìm kiếm là tôi muốn tạo một ứng dụng MAMP và tôi muốn biên dịch Apache, PHP, MySQL theo cách như vậy để tôi có thể đặt chúng vào một tệp dmg và sau đó cung cấp cho người khác và họ có thể chạy nó.

+0

thể trùng lặp của [Xác định nếu một thực thi (hoặc thư viện) là 32 -hoặc 64 bit (trên OSX)] (http://stackoverflow.com/questions/1941825/determine-if-an-executable-or-library-is-32-or-64-bits -on-osx) – outis

Trả lời

18

Kiểm tra lệnh file.

$ file /usr/bin/grep 
/usr/bin/grep: Mach-O universal binary with 2 architectures 
/usr/bin/grep (for architecture x86_64): Mach-O 64-bit executable x86_64 
/usr/bin/grep (for architecture i386): Mach-O executable i386 
0

Một cách dễ dàng để xác định xem Apache là 32-bit hoặc 64-bit là để thực hiện như sau trong vùng toàn cầu bằng cách sử dụng dtrace:

sudo dtrace -qn 'syscall::: /execname == "httpd"/ { ab = (curpsinfo->pr_dmodel == PR_MODEL_ILP32) ? "32-bit" : "64-bit" ; exit(0); } END { printf("Apache: %s",ab); }' 
Các vấn đề liên quan