Tiếng AnhTiếng PhápTiếng Tây Ban Nha

Ad


Biểu tượng yêu thích OnWorks

clang-3.5 - Trực tuyến trên đám mây

Chạy clang-3.5 trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks trên Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS

Đây là lệnh clang-3.5 có thể được chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS

CHƯƠNG TRÌNH:

TÊN


clang - trình biên dịch Clang C, C ++ và Objective-C

SYNOPSIS


kêu vang [-c|-S|-E] -std =Tiêu chuẩn -g
[-O0|-O1|-O2|-O3|-Ăn sáng|-Bạn|-Oz|-O|-O4]
-Wcảnh báo ... - mang tính mô phạm
-Idir ... -Ldir ...
-Dmacro [= defn]
-ftùy chọn tính năng ...
-mtùy chọn máy ...
-o tập tin đầu ra
-stdlib =thư viện
tên tập tin đầu vào

MÔ TẢ


kêu vang là một trình biên dịch C, C ++ và Objective-C bao gồm tiền xử lý, phân tích cú pháp,
tối ưu hóa, tạo mã, lắp ráp và liên kết. Tùy thuộc vào chế độ cấp cao nào
cài đặt được thông qua, Clang sẽ dừng trước khi thực hiện liên kết đầy đủ. Trong khi Clang được đánh giá cao
tích hợp, điều quan trọng là phải hiểu các giai đoạn của quá trình biên dịch, để hiểu cách
gọi nó. Các giai đoạn này là:

Người lái xe
Sản phẩm kêu vang thực thi thực sự là một trình điều khiển nhỏ kiểm soát việc thực thi tổng thể
của các công cụ khác như trình biên dịch, trình hợp dịch và trình liên kết. Thông thường bạn không cần
để tương tác với trình điều khiển, nhưng bạn sử dụng nó một cách rõ ràng để chạy các công cụ khác.

Sơ chế
Giai đoạn này xử lý mã hóa tệp nguồn đầu vào, mở rộng macro, #include
mở rộng và xử lý các chỉ thị tiền xử lý khác. Đầu ra của giai đoạn này là
thường được gọi là ".i" (đối với C), ".ii" (đối với C ++), ".mi" (đối với Objective-C) hoặc ".mii"
(đối với tệp Objective-C ++).

Phân tích cú pháp Ngữ nghĩa nghiên cứu
Giai đoạn này phân tích cú pháp tệp đầu vào, dịch các mã thông báo tiền xử lý thành một cây phân tích cú pháp.
Khi ở dạng cây phân tích cú pháp, nó áp dụng phân tích ngữ nghĩa để tính toán các loại cho
cũng như các biểu thức và xác định xem mã có được hình thành tốt hay không. Giai đoạn này là
chịu trách nhiệm tạo ra hầu hết các cảnh báo trình biên dịch cũng như các lỗi phân tích cú pháp. Các
đầu ra của giai đoạn này là "Cây cú pháp trừu tượng" (AST).

Thế hệ Tối ưu hóa
Giai đoạn này chuyển AST thành mã trung gian cấp thấp (được gọi là "LLVM IR") và
cuối cùng là mã máy. Giai đoạn này chịu trách nhiệm tối ưu hóa
mã và xử lý tạo mã mục tiêu cụ thể. Đầu ra của giai đoạn này là
thường được gọi là tệp ".s" hoặc tệp "lắp ráp".

Clang cũng hỗ trợ việc sử dụng một trình hợp dịch tích hợp, trong đó trình tạo mã
sản xuất trực tiếp các tệp đối tượng. Điều này giúp tránh chi phí tạo tệp ".s"
và gọi trình hợp dịch mục tiêu.

Nhà lắp ráp
Giai đoạn này chạy trình hợp dịch mục tiêu để dịch đầu ra của trình biên dịch thành
tệp đối tượng đích. Đầu ra của giai đoạn này thường được gọi là tệp ".o" hoặc
tệp "đối tượng".

Linker
Giai đoạn này chạy trình liên kết đích để hợp nhất nhiều tệp đối tượng thành một tệp thực thi hoặc
thư viện động. Đầu ra của giai đoạn này thường được gọi là "a.out", ".dylib" hoặc
Tệp ".so".

Trình biên dịch Clang hỗ trợ một số lượng lớn các tùy chọn để kiểm soát từng giai đoạn này. Trong
Ngoài việc biên dịch mã, Clang còn hỗ trợ các công cụ khác:

Kêu vang tĩnh Máy phân tích

Clang Static Analyzer là một công cụ quét mã nguồn để cố gắng tìm ra lỗi thông qua
phân tích mã. Công cụ này sử dụng nhiều phần của Clang và được tích hợp sẵn trong cùng một trình điều khiển.
Mời các bạn xemhttp://clang-analyzer.llvm.org> để biết thêm chi tiết về cách sử dụng tĩnh
máy phân tích.

LỰA CHỌN


Traineeship Lựa chọn Các lựa chọn
-E Chạy giai đoạn tiền xử lý.

-chỉ tổng hợp
Chạy các giai đoạn tiền xử lý, phân tích cú pháp và kiểm tra loại.

-S Chạy các giai đoạn trước cũng như các giai đoạn tạo và tối ưu hóa LLVM và target-
tạo mã cụ thể, tạo ra một tệp hợp ngữ.

-c Chạy tất cả các bước trên, cộng với trình hợp dịch, tạo tệp đối tượng ".o" đích.

Không giai đoạn lựa chọn tùy chọn
Nếu không có tùy chọn lựa chọn giai đoạn nào được chỉ định, tất cả các giai đoạn trên sẽ được chạy và trình liên kết
chạy để kết hợp các kết quả thành một thư viện thực thi hoặc được chia sẻ.

Ngôn ngữ Lựa chọn Chế độ Các lựa chọn
-x Ngôn ngữ
Coi các tệp đầu vào tiếp theo là có loại Ngôn ngữ.

-std=Ngôn ngữ
Chỉ định tiêu chuẩn ngôn ngữ để biên dịch.

-stdlib=thư viện
Chỉ định thư viện tiêu chuẩn C ++ để sử dụng; các tùy chọn được hỗ trợ là libstdc ++ và libc ++.

-ansi
Giống như -std = c89.

-ObjC ++
Coi các tệp đầu vào nguồn là đầu vào Objective-C ++.

-objC
Coi các tệp đầu vào nguồn là đầu vào Objective-C.

-trigraphs
Bật chế độ phân tích.

-chỉ cần
Cho biết rằng tệp nên được biên dịch cho một mục đích tự do, không phải máy chủ lưu trữ,
môi trường.

-fno-nội trang
Vô hiệu hóa việc xử lý và tối ưu hóa đặc biệt của các hàm nội sẵn như strlen và
malloc.

-fmath-errno
Cho biết rằng các hàm toán học nên được coi là cập nhật errno.

-fpascal-string
Bật hỗ trợ cho chuỗi kiểu Pascal với "\ pfoo".

-fms-phần mở rộng
Bật hỗ trợ cho các tiện ích mở rộng của Microsoft.

-fmsc-version =
Đặt _MSC_VER. Mặc định là 1300 trên Windows. Không được đặt khác.

-fborland-phần mở rộng
Bật hỗ trợ cho các tiện ích mở rộng Borland.

-fwrites-string
Đặt tất cả các ký tự chuỗi mặc định thành có thể ghi. Điều này vô hiệu hóa việc duy nhất các chuỗi và
tối ưu hóa khác.

-flax-vector-chuyển đổi
Cho phép các quy tắc kiểm tra kiểu lỏng lẻo đối với các chuyển đổi vectơ ngầm định.

-fblock
Bật tính năng ngôn ngữ "Chặn".

-fobjc-gc-chỉ
Cho biết rằng mã Objective-C nên được biên dịch ở chế độ chỉ GC, chế độ này chỉ hoạt động
khi Bộ sưu tập rác Objective-C được bật.

-fobjc-gc
Cho biết rằng mã Objective-C nên được biên dịch ở chế độ hybrid-GC, hoạt động với
cả chế độ GC và không GC.

-fobjc-abi-phiên bản=phiên bản
Chọn phiên bản Objective-C ABI để sử dụng. Các phiên bản có sẵn là 1 (kế thừa "mỏng manh"
ABI), 2 (ABI không dễ vỡ 1) và 3 (ABI không dễ vỡ 2).

-fobjc-nonfragile-abi-phiên bản=phiên bản
Chọn phiên bản ABI không dễ vỡ Objective-C để sử dụng theo mặc định. Điều này sẽ chỉ là
được sử dụng làm Objective-C ABI khi ABI không dễ vỡ được bật (thông qua
-fobjc-nonfragile-abi, hoặc vì nó là mặc định của nền tảng).

-fobjc-không dễ vỡ-abi
Cho phép sử dụng ABI không dễ vỡ Objective-C. Trên các nền tảng mà đây là
ABI mặc định, nó có thể bị vô hiệu hóa với -fno-objc-không dễ vỡ-abi.

Mục tiêu Lựa chọn Các lựa chọn
Clang hoàn toàn hỗ trợ biên dịch chéo như một phần vốn có trong thiết kế của nó. Phụ thuộc vào
phiên bản Clang của bạn được định cấu hình như thế nào, nó có thể có hỗ trợ cho một số
trình biên dịch hoặc có thể chỉ hỗ trợ một mục tiêu gốc.

-sao kiến trúc
Chỉ định kiến ​​trúc để xây dựng.

-mmacosx-phiên bản-min=phiên bản
Khi xây dựng cho Mac OS X, hãy chỉ định phiên bản tối thiểu được ứng dụng của bạn hỗ trợ.

-miphoneos-phiên-bản-min
Khi xây dựng hệ điều hành iPhone, hãy chỉ định phiên bản tối thiểu được hỗ trợ bởi
ứng dụng.

-tháng Ba=cpu
Chỉ định rằng Clang sẽ tạo mã cho một thành viên gia đình bộ xử lý cụ thể và
một lát sau. Ví dụ: nếu bạn chỉ định -march = i486, trình biên dịch được phép tạo
hướng dẫn hợp lệ trên bộ xử lý i486 trở lên, nhưng có thể không tồn tại trên
những cái trước đó.

Thế hệ Các lựa chọn
-O0 -O1 -O2 -O3 -Ăn sáng -Bạn -Oz -O -O4
Chỉ định mức tối ưu hóa sẽ sử dụng:

-O0 Có nghĩa là "không tối ưu hóa": cấp độ này biên dịch nhanh nhất và tạo ra nhiều nhất
mã có thể gỡ lỗi.

-O1 Ở đâu đó giữa -O0-O2.

-O2 Mức độ tối ưu hóa vừa phải cho phép hầu hết các tối ưu hóa.

-O3 Như -O2, ngoại trừ việc nó cho phép các tối ưu hóa mất nhiều thời gian hơn để thực hiện hoặc điều đó
có thể tạo ra mã lớn hơn (trong nỗ lực làm cho chương trình chạy nhanh hơn).

-Ăn sáng
Bật tất cả các tối ưu hóa từ -O3 cùng với các tối ưu hóa tích cực khác
điều đó có thể vi phạm việc tuân thủ nghiêm ngặt các tiêu chuẩn ngôn ngữ.

-Bạn Như -O2 với các tối ưu hóa bổ sung để giảm kích thước mã.

-Oz Như -Bạn (và như vậy -O2), nhưng giảm kích thước mã hơn nữa.

-O Tương đương với -O2.

-O4 và cao hơn
Hiện tại tương đương với -O3

-g Tạo thông tin gỡ lỗi. Lưu ý rằng thông tin gỡ lỗi Clang hoạt động tốt nhất tại -O0.

-fstandalone-gỡ lỗi -fno-độc lập-gỡ lỗi
Clang hỗ trợ một số tối ưu hóa để giảm kích thước của thông tin gỡ lỗi trong
nhị phân. Chúng hoạt động dựa trên giả định rằng thông tin loại gỡ lỗi có thể
trải rộng trên nhiều đơn vị biên dịch. Ví dụ: Clang sẽ không phát ra loại
định nghĩa cho các loại không cần thiết bởi một mô-đun và có thể được thay thế bằng
khai báo chuyển tiếp. Hơn nữa, Clang sẽ chỉ phát ra thông tin loại cho một lớp C ++ động
trong mô-đun có chứa vtable cho lớp.

Sản phẩm -fstandalone-gỡ lỗi tùy chọn tắt các tối ưu hóa này. Điều này hữu ích khi
làm việc với các thư viện của bên thứ 3 không có thông tin gỡ lỗi. Đây là
mặc định trên Darwin. Lưu ý rằng Clang sẽ không bao giờ phát ra thông tin loại cho các loại
hoàn toàn không được tham chiếu bởi chương trình.

-cảm giác
Cho phép tạo thông tin thư giãn, điều này cho phép chuyển các trường hợp ngoại lệ
Clang các khung ngăn xếp đã biên dịch. Điều này được bật theo mặc định trong x86-64.

-ftrapv
Tạo mã để bắt lỗi tràn số nguyên. Tràn số nguyên đã ký là không xác định
trong C, với cờ này, mã bổ sung được tạo để phát hiện điều này và hủy bỏ khi nó
xảy ra.

-sự tàng hình
Cờ này đặt mức hiển thị mặc định.

-thường xuyên
Cờ này chỉ định rằng các biến không có trình khởi tạo có được liên kết chung. Nó có thể
bị vô hiệu hóa với -không phổ biến.

-ftls-mô hình
Đặt mô hình lưu trữ cục bộ luồng (TLS) mặc định để sử dụng cho các biến cục bộ của luồng.
Các giá trị hợp lệ là: "global-dynamic", "local-dynamic", "Initial-Operating" và "local-Operating".
Giá trị mặc định là "động toàn cầu". Mô hình mặc định có thể được ghi đè bằng
thuộc tính tls_model. Trình biên dịch sẽ cố gắng chọn một mô hình hiệu quả hơn nếu
có thể.

-flto -emit-llvm
Tạo tệp đầu ra ở định dạng LLVM, phù hợp để tối ưu hóa thời gian liên kết. Khi đã sử dụng
với -S điều này tạo ra các tệp hợp ngữ ngôn ngữ trung gian LLVM, nếu không, điều này
tạo tệp đối tượng định dạng mã bit LLVM (tệp này có thể được chuyển tới trình liên kết
tùy thuộc vào các tùy chọn lựa chọn giai đoạn).

Người lái xe Các lựa chọn
- ###
In (nhưng không chạy) các lệnh để chạy cho quá trình biên dịch này.

--Cứu giúp
Hiển thị các tùy chọn có sẵn.

-Qunused-đối số
Không phát ra cảnh báo cho các đối số trình điều khiển không sử dụng.

-À,args.
Chuyển các đối số được phân tách bằng dấu phẩy vào args. cho trình lắp ráp.

- Tôi,args.
Chuyển các đối số được phân tách bằng dấu phẩy vào args. tới trình liên kết.

-wp,args.
Chuyển các đối số được phân tách bằng dấu phẩy vào args. tới bộ tiền xử lý.

-Xanalyzer arg
Qua arg vào máy phân tích tĩnh.

-Xassembler arg
Qua arg cho trình lắp ráp.

-Xlinker arg
Qua arg tới trình liên kết.

-Xtiền xử lý arg
Qua arg tới bộ tiền xử lý.

-o hồ sơ
Ghi đầu ra vào hồ sơ.

-in-file-name=hồ sơ
In đường dẫn thư viện đầy đủ của hồ sơ.

-print-libgcc-tên tệp
In đường dẫn thư viện cho "libgcc.a".

-print-prog-name=tên
In đường dẫn chương trình đầy đủ của tên.

-print-search-dirs
In các đường dẫn được sử dụng để tìm thư viện và chương trình.

-save-temps
Lưu kết quả biên dịch trung gian.

-tích hợp-như -không-tích-hợp-như
Được sử dụng để bật và tắt, tương ứng, việc sử dụng trình hợp dịch tích hợp. Cho dù
trình hợp dịch tích hợp được bật theo mặc định là phụ thuộc vào mục tiêu.

-thời gian
Thời gian các lệnh riêng lẻ.

-ftime-báo cáo
In tóm tắt thời gian của từng giai đoạn biên dịch.

-v Hiển thị các lệnh để chạy và sử dụng đầu ra dài dòng.

Chẩn đoán Các lựa chọn
-fshow-cột -fhow-source-location -fcaret-chẩn đoán -fdiagnostics-fixit-thông tin
-fdiagnostics-có thể phân tích cú pháp-sửa lỗi -fdiagnostics-in-nguồn-phạm vi-thông tin
-fprint-nguồn-phạm vi-thông tin -fdiagnostics-show-option -fmessage-độ dài
Các tùy chọn này kiểm soát cách Clang in ra thông tin về chẩn đoán (lỗi và
cảnh báo). Vui lòng xem Hướng dẫn sử dụng Clang để biết thêm thông tin.

Bộ tiền xử lý Các lựa chọn
-Dmacroname = giá trị
Thêm #define ngầm định vào bộ đệm xác định trước được đọc trước nguồn
tệp được xử lý trước.

-Utên macro
Thêm #undef ngầm hiểu vào bộ đệm xác định trước được đọc trước nguồn
tệp được xử lý trước.

bao gồm tên tập tin
Thêm #include ngầm định vào bộ đệm xác định trước được đọc trước nguồn
tệp được xử lý trước.

-Ithư mục
Thêm thư mục được chỉ định vào đường dẫn tìm kiếm các tệp bao gồm.

-Fthư mục
Thêm thư mục được chỉ định vào đường dẫn tìm kiếm cho các tệp bao gồm khung.

-nostdinc
Không tìm kiếm thư mục hệ thống tiêu chuẩn hoặc thư mục nội trang trình biên dịch cho
bao gồm các tệp.

-nostdlibinc
Không tìm kiếm các thư mục hệ thống tiêu chuẩn cho các tệp bao gồm, nhưng hãy tìm kiếm
nội trang trình biên dịch bao gồm các thư mục.

-không có sẵn
Không tìm kiếm thư mục nội trang của clang để tìm các tệp bao gồm.

MÔI TRƯỜNG


TMPDIR, TEMP, TMP
Các biến môi trường này được kiểm tra theo thứ tự để tìm vị trí ghi tạm thời
các tệp được sử dụng trong quá trình biên dịch.

CPATH
Nếu biến môi trường này có mặt, nó được coi là danh sách các đường dẫn đến
được thêm vào danh sách đường dẫn bao gồm hệ thống mặc định. Dấu phân cách là nền tảng
dấu phân cách phụ thuộc, như được sử dụng trong PATH biến môi trường.

Các thành phần trống trong biến môi trường bị bỏ qua.

C_INCLUDE_PATH, OBJC_INCLUDE_PATH, CPLUS_INCLUDE_PATH, OBJCPLUS_INCLUDE_PATH
Các biến môi trường này chỉ định các đường dẫn bổ sung, như đối với CPATH, chỉ
được sử dụng khi xử lý ngôn ngữ thích hợp.

MACOSX_DEPLOYMENT_TARGET
Nếu -mmacosx-version-min không được chỉ định, thì mục tiêu triển khai mặc định được đọc từ
biến môi trường này. Tùy chọn này chỉ ảnh hưởng đến các mục tiêu darwin.

Sử dụng clang-3.5 trực tuyến bằng các dịch vụ onworks.net


Máy chủ & Máy trạm miễn phí

Tải xuống ứng dụng Windows & Linux

  • 1
    chúng tôi
    chúng tôi
    Usm là một gói slackware thống nhất
    quản lý xử lý tự động
    giải quyết sự phụ thuộc. Nó thống nhất
    các kho lưu trữ gói khác nhau bao gồm
    slackware, slacky, p ...
    Tải về usm
  • 2
    Biểu đồ.js
    Biểu đồ.js
    Chart.js là một thư viện Javascript
    cho phép các nhà thiết kế và nhà phát triển vẽ
    tất cả các loại biểu đồ sử dụng HTML5
    phần tử canvas. Biểu đồ js cung cấp một điều tuyệt vời
    mảng ...
    Tải xuống Chart.js
  • 3
    iReport-Designer cho JasperReports
    iReport-Designer cho JasperReports
    LƯU Ý: Hỗ trợ iReport / Jaspersoft Studio
    Thông báo: Kể từ phiên bản 5.5.0,
    Jaspersoft Studio sẽ là công ty chính thức
    khách hàng thiết kế cho JasperReports. tôi báo cáo
    sẽ...
    Tải xuống iReport-Designer cho JasperReports
  • 4
    PostInstallerF
    PostInstallerF
    PostInstallerF sẽ cài đặt tất cả các
    phần mềm Fedora Linux và những phần mềm khác
    không bao gồm theo mặc định, sau
    chạy Fedora lần đầu tiên. Của nó
    dễ dàng cho ...
    Tải xuống PostInstallerF
  • 5
    đi lạc
    đi lạc
    Dự án đi lạc đã được chuyển đến
    https://strace.io. strace is a
    chẩn đoán, gỡ lỗi và hướng dẫn
    bộ theo dõi không gian người dùng cho Linux. Nó được sử dụng
    để giám sát một ...
    Tải xuống
  • 6
    gMKVExtractGUI
    gMKVExtractGUI
    GUI cho tiện ích mkvextract (một phần của
    MKVToolNix) kết hợp hầu hết (nếu
    không phải tất cả) chức năng của mkvextract và
    tiện ích mkvinfo. Được viết bằng C#NET 4.0,...
    Tải xuống gMKVExtractGUI
  • Khác »

Lệnh Linux

Ad