2012-02-05 43 views
11

Trình biên dịch Intel có thư viện chuẩn của riêng nó, ví dụ: triển khai std::cout v.v. Tôi muốn điều chỉnh mọi thứ cho Intel.Thư viện chuẩn của Intel (C++)

+7

Vui lòng không nói "ví dụ:" :-) –

+1

Thư viện chuẩn là _standard_, tất cả các trình biên dịch có giao diện giống nhau của thư viện chuẩn – Lol4t0

+2

Câu hỏi này là một câu hỏi tuyệt vời. Những người bỏ phiếu sẽ hiểu giá trị của nó trong tương lai. – Shibli

Trả lời

20

Cho đến khi phiên bản 8, ICC xuất xưởng với Dinkumware, ví dụ: việc thực hiện tiêu chuẩn thư viện mà cũng tàu với Microsoft Visual Studio:

Intel C++ Compiler cho Windows sử dụng Visual C Microsoft ++ tập tin tiêu đề, thư viện và các mối liên kết. Microsoft kiểm soát các tệp tiêu đề xác định không gian tên.

Tuy nhiên, như các phiên bản 8,1

-cxxlib-gcc bây giờ đã mặc định cho C++
Các STL và gcc * C++ thư viện là hiện được sử dụng theo mặc định khi liên kết các ứng dụng C++, thay vì các ứng dụng từ Dinkumware * được sử dụng trong các bản phát hành trước. Nếu bạn muốn sử dụng thư viện Dinkumware, hãy chỉ định công tắc mới -cxxlib-icc. Trong một phiên bản tương lai của trình biên dịch C++ của Intel, sự hỗ trợ cho việc sử dụng các thư viện Dinkumware sẽ bị loại bỏ.

By "thư viện STL và gcc C++" người duy nhất có thể giả định rằng họ đang đề cập đến libstdC++.

  • Vì vậy, ICC có giao hàng thư viện chuẩn không? Có.
  • Sản phẩm có đi kèm với thư viện do Intel triển khai không? No.
0

Thư viện chuẩn C++ được xác định theo tiêu chuẩn C++. Bất kỳ trình biên dịch tiêu chuẩn-comformant (bao gồm ICC) cung cấp một thực hiện của thư viện này, do đó, có, ICC có riêng của mình.

Tuy nhiên, bạn không cần phải "điều chỉnh mọi thứ", vì giao diện mã hóa thường giống nhau ở mọi nơi. Chỉ cần mã chuẩn C++ và ICC sẽ có thể biên dịch nó.

+0

clang không có thư viện trên một số hệ thống, bạn phải cung cấp một cách triển khai riêng biệt. –

+0

Sau đó, trên các hệ thống đó, nó không phải là một trình biên dịch phù hợp. – Puppy

+0

@DeadMG: Nó phù hợp khi bạn đã cung cấp một triển khai riêng biệt. Tương tự như vậy, GCC không phù hợp cho đến khi quá trình chuyển tệp nhị phân 'cc1plus' của bạn hoàn thành ... –

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