2013-04-29 22 views
9

GCC có -march=-mtune tùy chọn như được mô tả here. Nhưng nó không phải là rõ ràng mà các tùy chọn để lựa chọn cho x64 nền tảng như là một chung chung. Giả sử, -mtune= có giá trị generic, nhưng -march= cho x64 không có.gcc generic march cho tất cả các nền tảng x64

Tôi nghi ngờ rằng -march=nocona (như thường thấy ở mọi nơi) hoặc thậm chí -march=i686 -m64 là giải pháp, nhưng tôi không chắc chắn.

+1

Bạn cần phải làm rõ những gì bạn muốn? Bạn có đang biên dịch một tệp thực thi 64 bit trên hệ thống 32 bit hay bạn chỉ định ứng dụng của mình cho các hệ thống 64 bit? – devnull

+0

Máy chủ 64 bit và mục tiêu (không mất tính tổng quát) – Orient

+0

Tôi muốn chương trình khởi động ở tất cả (từ bộ vi xử lý x64 đến bộ xử lý corei7-avx) hiện đại. – Orient

Trả lời

13

Chung x86-64 -march-march=x86-64.

Đó là thường mặc định để nhắm mục tiêu x86-64 GCC, nhưng mặc định mà có thể thay đổi configure thời gian bằng cách đi qua giá trị thích hợp để --with-arch.

+1

Nhưng 'echo" "| gcc -v -E - 2> & 1 | grep cc1' sản xuất như sau: 'c:/mingw/bin /../ libexec/gcc/x86_64-w64-mingw32/4.8.0/cc1.exe -E -quiet -v -iprefix c: \ mingw \ bin \ ../ lib/gcc/x86_64-w64-mingw32/4.8.0/-D_REENTRANT - -mtune = core2 -march = nocona' – Orient

+0

@Dukales: trên máy của tôi, nó tạo ra '/ usr/lib/gcc/x86_64-unknown -linux-gnu/4.8.0/cc1 -E -quiet -v - -mtune = generic -march = x86-64'. Xem điểm về '--with-arch'. – Fanael

+0

Cảm ơn bạn. Vì vậy, nó phụ thuộc vào việc xây dựng GCC/MinGW. – Orient

Các vấn đề liên quan