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

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

abi-tuân thủ-kiểm tra - Trực tuyến trên đám mây

Chạy trình kiểm tra tuân thủ abi 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à trình kiểm tra tuân thủ lệnh abi có thể 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


abi-tuân thủ-kiểm tra - công cụ để so sánh khả năng tương thích ABI của thư viện C / C ++ được chia sẻ
phiên bản

MÔ TẢ


TÊN:
Bộ kiểm tra tuân thủ ABI (abi-tuân thủ-kiểm tra) Kiểm tra khả năng tương thích ngược của một
API thư viện C / C ++

SỰ MIÊU TẢ:
Bộ kiểm tra Tuân thủ ABI (ABICC) là một công cụ để kiểm tra nhị phân ngược và
khả năng tương thích cấp nguồn của thư viện C / C ++ được chia sẻ. Công cụ kiểm tra các tệp tiêu đề
và các thư viện được chia sẻ (* .so) của các phiên bản cũ và mới, đồng thời phân tích các thay đổi trong API và
ABI (ABI = API + trình biên dịch ABI) có thể phá vỡ khả năng tương thích cấp nguồn và / hoặc nhị phân:
các thay đổi trong cách gọi ngăn xếp, thay đổi v-table, các ký hiệu bị loại bỏ, các trường được đổi tên, v.v.
Tính không tương thích nhị phân có thể dẫn đến sự cố hoặc hoạt động không chính xác của các ứng dụng
được xây dựng bằng phiên bản cũ của thư viện nếu chúng chạy trên phiên bản mới. Nguồn
không tương thích có thể dẫn đến lỗi biên dịch lại với phiên bản thư viện mới.

Công cụ này dành cho các nhà phát triển thư viện phần mềm và những người bảo trì
hệ điều hành quan tâm đến việc đảm bảo khả năng tương thích ngược, tức là cho phép
các ứng dụng cũ để chạy hoặc được biên dịch lại với các phiên bản thư viện mới hơn.

Ngoài ra, công cụ này có thể được ISV sử dụng để kiểm tra tính khả chuyển của ứng dụng sang mới
các phiên bản thư viện. Các vấn đề đã tìm thấy có thể được tính đến khi điều chỉnh
ứng dụng cho một phiên bản thư viện mới.

Công cụ này là phần mềm miễn phí: bạn có thể phân phối lại nó và / hoặc sửa đổi nó trong
các điều khoản của GNU LGPL hoặc GNU GPL.

SỬ DỤNG:
abi-tuân thủ-kiểm tra [tùy chọn]

THÍ DỤ:
người kiểm tra tuân thủ abi -lib TÊN -cũ CŨ.xml -Mới MỚI.xml

OLD.xml và NEW.xml là các bộ mô tả XML:



1.0





/ path1 / to / header (s) / / path2 / to / header (s) /

...





/ path1 / to / library (ies) / / path2 / to / library (ies) /

...



THÔNG TIN TÙY CHỌN:
-h| -giúp đỡ

In phần trợ giúp này.

-i| -info

In thông tin đầy đủ.

-v| -mục tiêu

Thông tin phiên bản in.

-dumpversion

In phiên bản công cụ (1.99.14) và không làm bất cứ điều gì khác.

CÁC VẤN ĐỀ CHUNG TÙY CHỌN:
-l| -lib | -library TÊN

Tên thư viện (không có phiên bản).

-d1| -old | -o PATH

Bộ mô tả của phiên bản thư viện thứ nhất (cũ). Nó có thể là một trong những điều sau:

1. Bộ mô tả XML (tệp VERSION.xml):



1.0





/ path1 / to / header (s) / / path2 / to / header (s) /

...





/ path1 / to / library (ies) / / path2 / to / library (ies) /

...



...

2. Kết xuất ABI được tạo bởi -bãi rác tùy chọn 3. Thư mục có tiêu đề và / hoặc được chia sẻ
thư viện 4. Tệp tiêu đề đơn

Nếu bạn đang sử dụng 2-4 loại bộ mô tả thì bạn nên chỉ định số phiên bản
với -V1-V2 tùy chọn quá.

Để biết thêm thông tin, xin vui lòng xem:

http://ispras.linuxbase.org/index.php/Library_Descriptor

-d2| -new | -n PATH

Bộ mô tả của phiên bản thư viện thứ 2 (mới).

-bãi rác| -dump-abi PATH

Tạo kết xuất ABI thư viện cho bộ mô tả XML đầu vào. Bạn có thể chuyển nó ở bất cứ đâu
và vượt qua thay vì bộ mô tả. Ngoài ra, nó có thể được sử dụng để gỡ lỗi công cụ.

Các phiên bản ABI dump được hỗ trợ: 2.0 <= V <= 3.2

EXTRA TÙY CHỌN:
Ứng dụng|-ứng dụng PATH

Tùy chọn này cho phép người ta chỉ định ứng dụng cần được kiểm tra
khả năng chuyển sang phiên bản thư viện mới.

-static-libs

Kiểm tra các thư viện tĩnh thay vì các thư viện được chia sẻ. Các phần của
XML-descriptor phải trỏ đến vị trí thư viện tĩnh.

-gcc-đường dẫn PATH

Đường dẫn đến trình biên dịch GCC chéo để sử dụng thay vì GCC (máy chủ) thông thường.

tiền tố -gcc TIẾP ĐẦU NGỮ

Tiền tố chuỗi công cụ GCC.

-gcc-tùy chọn TÙY CHỌN

Các tùy chọn trình biên dịch bổ sung.

-sysroot DIR

Chỉ định thư mục gốc thay thế. Công cụ sẽ tìm kiếm các đường dẫn bao gồm trong
các thư mục DIR / usr / include và DIR / usr / lib.

-V1| -version1 NUM

Chỉ định phiên bản thư viện đầu tiên bên ngoài bộ mô tả. Tùy chọn này là cần thiết nếu bạn
đã ưu tiên một loại mô tả thay thế (xem -d1 Tùy chọn).

Trong trường hợp chung, bạn nên chỉ định nó trong XML-descriptor:



PHIÊN BẢN



-V2| -version2 NUM

Chỉ định phiên bản thư viện thứ 2 bên ngoài bộ mô tả.

-vnum NUM

Chỉ định phiên bản thư viện trong kết xuất ABI đã tạo. Các phần của
bộ mô tả XML đầu vào sẽ bị ghi đè trong trường hợp này.

-s| -strict

Coi tất cả các cảnh báo về khả năng tương thích là sự cố. Thêm một số mức độ nghiêm trọng "Thấp"
vấn đề đối với giá trị trả về của công cụ.

-chỉ tiêu đề

Kiểm tra các tệp tiêu đề không có thư viện được chia sẻ. Nó dễ chạy, nhưng có thể cung cấp
báo cáo khả năng tương thích chất lượng thấp với kết quả dương tính giả và không phát hiện
thêm / bớt ký hiệu.

Ngoài ra, bạn có thể viết từ "không" vào phần trong
Bộ mô tả XML:



không ai



-hiển thị lại

Hiển thị kiểu trả về của biểu tượng trong báo cáo.

-biểu tượng-danh sách PATH

Tùy chọn này cho phép người ta chỉ định một tệp với danh sách các ký hiệu (tên bị xáo trộn trong
C ++) cần được kiểm tra. Các ký hiệu khác sẽ không được kiểm tra.

-types-danh sách PATH

Tùy chọn này cho phép người ta chỉ định một tệp với danh sách các loại phải
đã kiểm tra. Các loại khác sẽ không được kiểm tra.

-skip-biểu tượng PATH

Danh sách các ký hiệu không nên kiểm tra.

-skip-các loại PATH

Danh sách các loại không nên kiểm tra.

-danh sách tiêu đề PATH

Tệp có danh sách các tiêu đề, cần được kiểm tra / kết xuất.

-bỏ qua tiêu đề PATH

Không nên chọn tệp có danh sách tệp tiêu đề.

-cái đầu TÊN

Chỉ kiểm tra / kết xuất ABI của tiêu đề này.

-sử dụng-đổ

Tạo kết xuất cho hai phiên bản của thư viện và so sánh kết xuất. Điều này sẽ tăng lên
hiệu suất của công cụ và giảm mức sử dụng bộ nhớ hệ thống.

-nostdinc

Không tìm kiếm tệp tiêu đề trong thư mục hệ thống tiêu chuẩn GCC.

-dump-hệ thống TÊN -sysroot DIR

Tìm tất cả các thư viện được chia sẻ và tệp tiêu đề trong thư mục DIR, tạo XML
bộ mô tả và tạo kết xuất ABI cho mỗi thư viện. Tập kết quả của ABI kết xuất có thể là
so (--cmp-hệ thống) với cái còn lại được tạo cho phiên bản điều hành khác
hệ thống để kiểm tra tính tương thích của chúng. Đừng quên chỉ định
-cross-gcc tùy chọn nếu hệ thống mục tiêu của bạn yêu cầu một số phiên bản GCC cụ thể
trình biên dịch (khác với GCC của máy chủ). Kết xuất ABI của hệ thống sẽ được tạo để:

sys_dumps / NAME / ARCH

-dump-hệ thống MÔ TẢ.xml

Tương tự như tùy chọn trước đó nhưng sử dụng bộ mô tả XML của hệ thống đích như
đầu vào, nơi bạn nên mô tả nó:

/ * Phần chính * /



/ * Tên của hệ thống * /





/ * Danh sách các đường dẫn đến tệp tiêu đề và / hoặc

thư mục có tệp tiêu đề, mỗi tệp một dòng * /





/ * Danh sách các đường dẫn đến các thư viện được chia sẻ và / hoặc

thư mục với các thư viện được chia sẻ, một thư viện trên mỗi dòng * /



/ * Các phần tùy chọn * /



/ * Danh sách các thư mục được tìm kiếm

để các tệp tiêu đề tự động tạo bao gồm các đường dẫn, một đường dẫn trên mỗi dòng * /





/ * Danh sách các thư mục được tìm kiếm

cho các thư viện được chia sẻ để giải quyết các phần phụ thuộc, một phần trên mỗi dòng * /





/ * Danh sách các thư mục với các công cụ được sử dụng

để phân tích (chuỗi công cụ GCC), một trên mỗi dòng * /





/ * Tiền tố chuỗi công cụ GCC.

Ví dụ:
arm-linux-gnueabi arm-none-symbianelf * /





/ * Các tùy chọn GCC bổ sung, một tùy chọn trên mỗi dòng * /



-sysinfo DIR

Tùy chọn này nên được sử dụng với -dump-hệ thống tùy chọn để kết xuất ABI của hoạt động
hệ thống và cấu hình quá trình bán phá giá. Bạn có thể tìm thấy một mẫu trong gói:

module / Targets / {unix, symbian, windows}

-cmp-hệ thống -d1 sys_dumps / NAME1 / ARCH -d2 sys_dumps / NAME2 / ARCH

So sánh hai bãi ABI của hệ thống. Tạo báo cáo khả năng tương thích cho từng thư viện và
báo cáo HTML chung bao gồm bản tóm tắt kết quả kiểm tra cho tất cả các thư viện đã kiểm tra.
Báo cáo sẽ được tạo để:

sys_compat_reports / NAME1_to_NAME2 / ARCH

-libs-danh sách PATH

Tệp có danh sách các thư viện, sẽ được kết xuất bởi -dump-hệ thống tùy chọn
hoặc nên được kiểm tra bởi -cmp-hệ thống tùy chọn.

-ext| -extended

Nếu thư viện A của bạn được cho là được sử dụng bởi thư viện B khác và bạn muốn kiểm soát
ABI của B, thì bạn nên bật tùy chọn này. Công cụ sẽ kiểm tra các thay đổi
trong tất cả các kiểu dữ liệu, ngay cả khi chúng không được sử dụng bởi bất kỳ hàm nào trong thư viện A. Chẳng hạn
kiểu dữ liệu không phải là một phần của ABI thư viện A, nhưng có thể là một phần của ABI của B
thư viện.

Đề án ngắn gọn là:

ứng dụng C (bị hỏng) -> lib B (ABI bị hỏng) -> lib A (ABI ổn định)

-q| -quiet

In tất cả thư vào tệp thay vì stdout và stderr. Đường dẫn mặc định (có thể là
Thay đổi bởi -log-đường dẫn Lựa chọn):

logs / run.log

-thiết bị xuất chuẩn

In kết quả phân tích (báo cáo khả năng tương thích và kết xuất ABI) sang stdout thay vì
tạo một tệp. Điều này sẽ cho phép đường ống dữ liệu đến các chương trình khác.

-định dạng báo cáo FMT

Thay đổi định dạng của báo cáo khả năng tương thích. Định dạng:

htm - định dạng HTML (mặc định) xml - định dạng XML

-dump-định dạng FMT

Thay đổi định dạng của kết xuất ABI. Định dạng:

perl - Dữ liệu :: Định dạng Dumper (mặc định) xml - Định dạng XML

-xml

Bí danh cho: --định dạng báo cáo=xml or --dump-định dạng=xml

-lang NGÔN NGỮ

Đặt ngôn ngữ thư viện (C hoặc C ++). Bạn có thể sử dụng tùy chọn này nếu công cụ không thể
tự động phát hiện một ngôn ngữ. Tùy chọn này có thể hữu ích để kiểm tra các tiêu đề thư viện C
(--lang=C) trong --headers-chỉ or --mở rộng chế độ.

-sao Vòm

Đặt kiến ​​trúc thư viện (x86, x86_64, ia64, arm, ppc32, ppc64, s390, v.v.). Các
tùy chọn này hữu ích nếu công cụ không thể phát hiện kiến ​​trúc chính xác của đầu vào
các đối tượng.

-nhị phân| -bin | -abi

Chỉ hiển thị sự cố tương thích "Nhị phân". Tạo báo cáo cho:

compat_reports / LIB_NAME / V1_to_V2 / abi_compat_report.html

-Source| -src | -api

Chỉ hiển thị sự cố tương thích "Nguồn". Tạo báo cáo cho:

compat_reports / LIB_NAME / V1_to_V2 / src_compat_report.html

-limit-bị ảnh hưởng LIMIT

Số lượng tối đa các biểu tượng bị ảnh hưởng được liệt kê trong phần mô tả về sự thay đổi
gõ vào báo cáo.

KHÁC TÙY CHỌN:
-kiểm tra

Chạy thử nghiệm nội bộ. Tạo hai phiên bản không tương thích nhị phân của thư viện mẫu và
chạy công cụ để kiểm tra tính tương thích của chúng. Tùy chọn này cho phép một người kiểm tra xem
công cụ hoạt động chính xác trong môi trường hiện tại.

-test-dump

Kiểm tra khả năng tạo, đọc và so sánh kết xuất ABI.

-gỡ lỗi

Chế độ kiểm lỗi. In thông tin gỡ lỗi trên màn hình. Lưu các giai đoạn phân tích trung gian
trong thư mục gỡ lỗi:

gỡ lỗi / LIB_NAME / VERSION /

Cũng xem xét sử dụng --bãi rác tùy chọn để gỡ lỗi công cụ.

-cpp tương thích

Nếu tệp tiêu đề của bạn được viết bằng ngôn ngữ C và có thể được biên dịch bởi G ++
trình biên dịch (tức là không sử dụng từ khóa C ++), sau đó bạn có thể cho công cụ biết về điều này và
tăng tốc độ phân tích.

-cpp-không tương thích

Đặt tùy chọn này nếu các tệp tiêu đề C đầu vào sử dụng từ khóa C ++.

-p| -params PATH

Đường dẫn đến tệp với các tên tham số hàm. Nó có thể được sử dụng để cải thiện báo cáo
xem nếu các tệp tiêu đề thư viện không có tên tham số. Định dạng tệp:

func1;param1;param2;param3 ... func2;param1;param2;param3 ...

...

-đường dẫn PATH

Thay thế macro {RELPATH} thành PATH trong bộ mô tả XML được sử dụng để kết xuất thư viện
ABI (xem -bãi rác Tùy chọn).

-relpath1 PATH

Thay thế macro {RELPATH} thành PATH trong bộ mô tả XML thứ nhất (-d1).

-relpath2 PATH

Thay thế macro {RELPATH} thành PATH trong bộ mô tả XML thứ 2 (-d2).

-dump-path PATH

Chỉ định đường dẫn tệp * .abi.tar.gz hoặc * .abi để tạo kết xuất ABI. Vỡ nợ:

abi_dumps / LIB_NAME / LIB_NAME_VERSION.abi.tar.gz

-loại

Cho phép sắp xếp dữ liệu trong ABI kết xuất.

-báo cáo-đường dẫn PATH

Đường dẫn đến báo cáo khả năng tương thích. Vỡ nợ:

compat_reports / LIB_NAME / V1_to_V2 / compat_report.html

-bin-báo cáo-đường dẫn PATH

Đường dẫn đến báo cáo khả năng tương thích "Nhị phân". Vỡ nợ:

compat_reports / LIB_NAME / V1_to_V2 / abi_compat_report.html

-src-báo cáo-đường dẫn PATH

Đường dẫn đến báo cáo khả năng tương thích "Nguồn". Vỡ nợ:

compat_reports / LIB_NAME / V1_to_V2 / src_compat_report.html

-log-đường dẫn PATH

Đường dẫn nhật ký cho tất cả các tin nhắn. Vỡ nợ:

log / LIB_NAME / VERSION / log.txt

-log1-đường dẫn PATH

Đường dẫn nhật ký cho phiên bản đầu tiên của thư viện. Vỡ nợ:

log / LIB_NAME / V1 / log.txt

-log2-đường dẫn PATH

Đường dẫn nhật ký cho phiên bản thứ 2 của thư viện. Vỡ nợ:

log / LIB_NAME / V2 / log.txt

-log-chế độ PHƯƠNG THỨC

Thay đổi chế độ ghi nhật ký. Các chế độ:

w - ghi đè nhật ký cũ (mặc định) a - nối nhật ký cũ n - không ghi bất kỳ nhật ký nào

-danh sách bị ảnh hưởng

Tạo tệp với danh sách các ký hiệu không tương thích bên cạnh khả năng tương thích HTML
bản báo cáo. Sử dụng lệnh 'c ++ filt @file' từ GNU binutils để gỡ bỏ các ký hiệu C ++ trong
tệp được tạo. Tên mặc định:

abi_affected.txt src_affected.txt

thành phần TÊN

Tên thành phần trong tiêu đề và tóm tắt của báo cáo HTML. Vỡ nợ:

thư viện

-chức vụ TÊN

Thay đổi tên thư viện trong tiêu đề báo cáo thành NAME. Theo mặc định sẽ được hiển thị
tên được chỉ định bởi -l tùy chọn.

-thông tin thêm DIR

Đưa thông tin bổ sung vào DIR.

-thêm-đổ

Tạo kết xuất ABI mở rộng chứa tất cả các ký hiệu từ đơn vị dịch.

-lực lượng

Cố gắng sử dụng tùy chọn này nếu công cụ không hoạt động.

-lòng khoan dung LEVEL

Áp dụng một tập hợp các phép thử để biên dịch thành công các tệp tiêu đề đầu vào. Bạn có thể
cho phép một số mức dung sai bằng cách nối chúng thành một chuỗi (ví dụ: 13, 124,
Vân vân.). Các cấp độ:

1 - bỏ qua tiêu đề không phải Linux (ví dụ: win32 _ *. H, v.v.) 2 - bỏ qua tiêu đề nội bộ (ví dụ:
* _p.h, impl / *. h, v.v.) 3 - bỏ qua các tiêu đề bao gồm các tiêu đề không phải Linux 4 - bỏ qua
tiêu đề được bao gồm bởi những người khác

-chấp thuận

Bật mức dung sai cao nhất [1234].

-kiểm tra

Kiểm tra tính đầy đủ của kết xuất ABI.

-nhanh chóng

Phân tích nhanh. Tắt kiểm tra một số trường hợp mẫu.

-skip-nội-ký-hiệu MẪU

Không kiểm tra các ký hiệu khớp với mẫu.

-skip-nội-loại MẪU

Không kiểm tra các loại phù hợp với mẫu.

BÁO CÁO:
Báo cáo khả năng tương thích sẽ được tạo để:

compat_reports / LIB_NAME / V1_to_V2 / compat_report.html

Nhật ký sẽ được tạo để:

nhật ký / LIB_NAME / V1 / log.txt nhật ký / LIB_NAME / V2 / log.txt

EXIT MÃ:
0 - Tương thích. Công cụ đã chạy mà không có bất kỳ lỗi nào. khác XNUMX - Không tương thích hoặc
công cụ đã chạy với lỗi.

MORE THÔNG TIN:
http://lvc.github.io/abi-compliance-checker/

Sử dụng công cụ kiểm tra tuân thủ abi 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
    bộ chuyển đổi phụ
    bộ chuyển đổi phụ
    Tiện ích để chuyển đổi giữa các loại khác nhau
    định dạng đăng ký. người dùng tên lửa
    nên sử dụng ss, ssr hoặc v2ray làm mục tiêu.
    Bạn có thể thêm &remark= vào
    HT được yêu thích trên Telegram...
    Tải xuống bộ chuyển đổi phụ
  • 2
    RỬA MẶT
    RỬA MẶT
    SWASH là một số có mục đích chung
    công cụ để mô phỏng không ổn định,
    không thủy tĩnh, bề mặt tự do,
    dòng quay và hiện tượng vận chuyển
    ở vùng biển ven bờ như ...
    Tải xuống SWASH
  • 3
    VBA-M (Đã lưu trữ - Hiện có trên Github)
    VBA-M (Đã lưu trữ - Hiện có trên Github)
    Dự án đã chuyển sang
    https://github.com/visualboyadvance-m/visualboyadvance-m
    Các tính năng: Tạo gian lận lưu trạng thái đa
    hệ thống, hỗ trợ gba, gbc, gb, sgb,
    sgb2Tu...
    Tải xuống VBA-M (Đã lưu trữ - Hiện có trên Github)
  • 4
    Stacer
    Stacer
    Giám sát và tối ưu hóa hệ thống Linux
    Kho lưu trữ Github:
    https://github.com/oguzhaninan/Stacer.
    Đối tượng: Người dùng cuối / Máy tính để bàn. Người sử dụng
    giao diện: Qt. Lập trình La ...
    Tải xuống Stacer
  • 5
    CamCáo
    CamCáo
    Ngã ba của TeamWinRecoveryProject(TWRP)
    với nhiều chức năng bổ sung, thiết kế lại
    và nhiều tính năng khác: Hỗ trợ Treble và
    ROM không phải TrebleNhân Oreo cập nhật,
    được xây dựng...
    Tải xuống OrangeFox
  • 6
    itop - ITSM CMDB OpenSource
    itop - Nguồn mở ITSM CMDB
    Cổng hoạt động CNTT: hoàn toàn mở
    nguồn, ITIL, dịch vụ dựa trên web
    công cụ quản lý bao gồm đầy đủ
    CMDB có thể tùy chỉnh, hệ thống trợ giúp và
    một người đàn ông tài liệu ...
    Tải xuống itop - ITSM CMDB OpenSource
  • Khác »

Lệnh Linux

Ad