انگلیسیفرانسویاسپانیایی

فاویکون OnWorks

abi-compliance-checker - آنلاین در ابر

اجرای abi-compliance-checker در ارائه دهنده هاست رایگان OnWorks از طریق Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS

این فرمان abi-compliance-checker است که می تواند در ارائه دهنده هاست رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان ما مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.

برنامه:

نام


abi-compliance-checker - ابزاری برای مقایسه سازگاری ABI کتابخانه مشترک C/C++
نسخه

شرح


نام:
ABI Compliance Checker (abi-compliance-checker) بررسی سازگاری به عقب از a
C/C++ کتابخانه API

DESCRIPTION:
ABI Compliance Checker (ABICC) ابزاری برای بررسی باینری های عقب افتاده و
سازگاری سطح منبع یک کتابخانه مشترک C/C++. این ابزار فایل های هدر را بررسی می کند
و کتابخانه های مشترک (*.so) نسخه های قدیمی و جدید و تجزیه و تحلیل تغییرات در API و
ABI (ABI=API+کامپایلر ABI) که ممکن است سازگاری باینری و/یا سطح منبع را از بین ببرد:
تغییرات در پشته فراخوانی، تغییرات v-table، حذف نمادها، تغییر نام فیلدها و غیره.
ناسازگاری باینری ممکن است منجر به خرابی یا رفتار نادرست برنامه ها شود
اگر کتابخانه جدید اجرا شود، با نسخه قدیمی کتابخانه ساخته شده است. منبع
ناسازگاری ممکن است منجر به خطاهای کامپایل مجدد با نسخه جدید کتابخانه شود.

این ابزار برای توسعه‌دهندگان کتابخانه‌های نرم‌افزاری و نگهداری‌کنندگان در نظر گرفته شده است
سیستم عامل هایی که علاقه مند به اطمینان از سازگاری با عقب هستند، یعنی اجازه می دهند
برنامه های قدیمی برای اجرا یا کامپایل مجدد با نسخه های جدیدتر کتابخانه.

همچنین این ابزار می تواند توسط ISV ها برای بررسی قابلیت حمل برنامه ها به جدید استفاده شود
نسخه های کتابخانه مسائل پیدا شده را می توان در هنگام تطبیق در نظر گرفت
برنامه به نسخه کتابخانه جدید.

این ابزار یک نرم‌افزار رایگان است: می‌توانید آن را دوباره توزیع کنید و/یا آن را در زیر تغییر دهید
شرایط GNU LGPL یا GNU GPL.

طریقه استفاده:
abi-compliance-checker [گزینه ها]

مثال:
abi-compliance-checker -لیب نام -خب OLD.xml -جدید NEW.xml

OLD.xml و NEW.xml توصیفگرهای XML هستند:



1.0





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

...





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

...



اطلاعات گزینه ها:
-h|-کمک

این راهنما را چاپ کنید.

-i|-اطلاعات

چاپ اطلاعات کامل

-v|-نسخه

اطلاعات نسخه چاپی

- تخلیه

نسخه ابزار (1.99.14) را چاپ کنید و کار دیگری انجام ندهید.

عمومی گزینه ها:
-l|-lib|-کتابخانه NAME

نام کتابخانه (بدون نسخه).

-d1|-قدیمی|-o PATH

توصیف کننده نسخه اول (قدیمی) کتابخانه. ممکن است یکی از موارد زیر باشد:

1. XML-descriptor (فایل VERSION.xml):



1.0





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

...





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

...



...

2. تخلیه ABI تولید شده توسط -زباله گزینه 3. دایرکتوری با هدر و/یا اشتراک گذاری شده
کتابخانه ها 4. فایل هدر منفرد

اگر از 2-4 نوع توصیفگر استفاده می کنید، باید شماره نسخه را مشخص کنید
با -v1 و -v2 گزینه ها نیز

برای اطلاعات بیشتر، لطفا مراجعه کنید:

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

-d2|-جدید|-n PATH

توصیف کننده نسخه دوم کتابخانه (جدید).

-زباله|-dump-abi PATH

کتابخانه ABI dump را برای توصیفگر ورودی XML ایجاد کنید. می توانید آن را به هر جایی انتقال دهید
و به جای توصیف کننده عبور کنید. همچنین می توان از آن برای رفع اشکال ابزار استفاده کرد.

نسخه های پشتیبانی شده ABI dump: 2.0<=V<=3.2

EXTRA گزینه ها:
-برنامه|-application PATH

این گزینه به شخص اجازه می دهد تا برنامه ای را که باید بررسی شود را مشخص کند
قابلیت حمل به نسخه جدید کتابخانه

static-libs

به جای کتابخانه های مشترک، کتابخانه های ثابت را بررسی کنید. در بخش از
توصیفگر XML باید به محل کتابخانه های ایستا اشاره کند.

-gcc-path PATH

مسیری به کامپایلر متقابل GCC برای استفاده به جای معمول (میزبان) GCC.

-gcc-پیشوند پیشوند

پیشوند زنجیره ابزار GCC.

-گزینه‌های gcc OPTS

گزینه های کامپایلر اضافی

-sysroot DIR

دایرکتوری ریشه جایگزین را مشخص کنید. ابزار شامل مسیرهای موجود در آن جستجو می کند
دایرکتوری های DIR/usr/include و DIR/usr/lib.

-v1|-نسخه 1 NUM

نسخه اول کتابخانه را خارج از توصیفگر مشخص کنید. اگر شما به این گزینه نیاز دارید
یک نوع توصیفگر جایگزین را ترجیح داده اند (نگاه کنید به -d1 گزینه).

در حالت کلی باید آن را در XML-descriptor مشخص کنید:



نسخه



-v2|-نسخه 2 NUM

نسخه دوم کتابخانه را خارج از توصیفگر مشخص کنید.

-vnum NUM

نسخه کتابخانه را در تخلیه ABI ایجاد شده مشخص کنید. در بخش از
توصیفگر XML ورودی در این مورد بازنویسی خواهد شد.

-s|-سخت

همه هشدارهای سازگاری را به عنوان مشکل در نظر بگیرید. تعدادی از شدت "کم" را اضافه کنید
مشکلات مربوط به مقدار بازگشتی ابزار

فقط سرصفحه

فایل های هدر را بدون کتابخانه های مشترک بررسی کنید. اجرای آن آسان است، اما ممکن است یک
گزارش سازگاری با کیفیت پایین با مثبت کاذب و بدون شناسایی
نمادهای اضافه/حذف شده

یا می‌توانید کلمه «هیچ» را در آن بنویسید بخش در
توصیفگر XML:



هیچ



-نمایش مجدد

نوع بازگشت نماد را در گزارش نشان دهید.

-symbols-list PATH

این گزینه به شخص اجازه می دهد تا فایلی را با لیستی از نمادها (نام های مخدوش شده در
C++) که باید بررسی شود. سایر نمادها بررسی نمی شوند.

-types-list PATH

این گزینه به شخص اجازه می دهد تا فایلی را با لیستی از انواعی که باید باشد مشخص کند
بررسی شد. انواع دیگر بررسی نمی شود.

نمادهای پرش PATH

لیست نمادهایی که نباید بررسی شوند.

-پرش-انواع PATH

لیست انواعی که نباید بررسی شوند.

سرصفحه-لیست PATH

فایل با لیستی از هدرها، که باید بررسی یا ریخته شود.

هدرهای پرش PATH

فایل با لیست فایل های هدر، که نباید بررسی شود.

-سرتیتر نام

فقط ABI این هدر را بررسی کنید/دور بزنید.

-استفاده از زباله

برای دو نسخه از یک کتابخانه dump ایجاد کنید و dumps را مقایسه کنید. این باید افزایش یابد
عملکرد ابزار و کاهش استفاده از حافظه سیستم.

-nostdinc

در فهرست های سیستم استاندارد GCC برای فایل های هدر جستجو نکنید.

-سیستم تخلیه نام -sysroot DIR

تمام کتابخانه های به اشتراک گذاشته شده و فایل های هدر را در دایرکتوری DIR پیدا کنید، XML ایجاد کنید
توصیفگرها و برای هر کتابخانه، روگرفت ABI ایجاد کنید. مجموعه نتیجه تخلیه ABI می تواند باشد
مقایسه (--cmp-systems) با دیگری ایجاد شده برای نسخه دیگر عملیات
سیستم به منظور بررسی سازگاری آنها. فراموش نکنید که مشخص کنید
-cross-gcc اگر سیستم هدف شما به نسخه خاصی از GCC نیاز دارد، گزینه ای است
کامپایلر (متفاوت از GCC میزبان). سیستم ABI dump برای موارد زیر ایجاد می شود:

sys_dumps/NAME/ARCH

-سیستم تخلیه DESCRIPTOR.xml

مانند گزینه قبلی است اما یک توصیفگر XML از سیستم هدف را به عنوان
ورودی، جایی که باید آن را توضیح دهید:

/* بخش های اولیه */



/* نام سیستم */





/* لیست مسیرهای فایل های هدر و/یا

دایرکتوری ها با فایل های هدر، یکی در هر خط */





/* لیست مسیرهای کتابخانه های مشترک و/یا

دایرکتوری ها با کتابخانه های مشترک، یکی در هر خط */



/* بخش های اختیاری */



/* فهرست دایرکتوری هایی که باید جستجو شوند

برای ایجاد خودکار فایل‌های هدر شامل مسیرهایی، یکی در هر خط */





/* فهرست دایرکتوری هایی که باید جستجو شوند

برای کتابخانه های مشترک برای حل وابستگی ها، یکی در هر خط */





/* فهرست دایرکتوری ها با ابزارهای مورد استفاده

برای تجزیه و تحلیل (GCC toolchain)، یک در هر خط */





/* پیشوند زنجیره ابزار GCC.

مثال:
arm-linux-gnueabi arm-none-symbianelf */





/* گزینه های اضافی GCC، یکی در هر خط */



-sysinfo DIR

این گزینه باید با استفاده شود -سیستم تخلیه گزینه ای برای تخلیه ABI از عملیات
سیستم ها و پیکربندی فرآیند دامپینگ. شما می توانید یک نمونه را در بسته پیدا کنید:

modules/Targets/{یونیکس، سیمبین، ویندوز}

-سیستم های cmp -d1 sys_dumps/NAME1/ARCH -d2 sys_dumps/NAME2/ARCH

دو سیستم ABI dump را مقایسه کنید. ایجاد گزارش سازگاری برای هر کتابخانه و
گزارش رایج HTML شامل خلاصه نتایج آزمایش برای همه کتابخانه های بررسی شده.
گزارش ایجاد خواهد شد:

sys_compat_reports/NAME1_to_NAME2/ARCH

-libs-list PATH

فایل با لیستی از کتابخانه ها، که باید توسط -سیستم تخلیه انتخاب
یا باید توسط -سیستم های cmp گزینه.

- داخلی|-تمدید شد

اگر قرار است کتابخانه A شما توسط کتابخانه B دیگری استفاده شود و شما می خواهید آن را کنترل کنید
ABI از B، سپس شما باید این گزینه را فعال کنید. این ابزار تغییرات را بررسی می کند
در تمام انواع داده ها، حتی اگر توسط هیچ تابعی در کتابخانه A استفاده نشده باشند
انواع داده ها بخشی از ABI کتابخانه A نیستند، اما ممکن است بخشی از ABI از B باشند
کتابخانه

طرح کوتاه این است:

برنامه C (شکسته) -> lib B (ABI شکسته) -> lib A (ABI پایدار)

-q|-آرام

همه پیام ها را به جای stdout و stderr در فایل چاپ کنید. مسیر پیش فرض (می تواند باشد
تغییر کرده توسط - مسیر ورود گزینه):

logs/run.log

-stdout

نتایج تجزیه و تحلیل (گزارش‌های سازگاری و تخلیه‌های ABI) را در stdout چاپ کنید
ایجاد یک فایل این اجازه می دهد تا داده ها را به سایر برنامه ها انتقال دهند.

-قالب گزارش FMT

تغییر فرمت گزارش سازگاری فرمت ها:

htm - فرمت HTML (پیش‌فرض) xml - فرمت XML

فرمت dump FMT

تغییر قالب ABI dump. فرمت ها:

perl - فرمت Data::Dumper (پیش‌فرض) xml - فرمت XML

-xml

نام مستعار برای: -قالب گزارش=XML or - قالب dump=XML

-زمانی زبان

تنظیم زبان کتابخانه (C یا C++). اگر ابزار نمی تواند از این گزینه استفاده کنید
تشخیص خودکار یک زبان این گزینه ممکن است برای بررسی هدرهای C-library مفید باشد
(-- زبان=C) که در ---فقط سرصفحه or --تمدید شده حالت ها.

-ارشی آرچ

مجموعه معماری کتابخانه (x86، x86_64، ia64، بازو، ppc32، ppc64، s390، و غیره). در
اگر ابزار نتواند معماری صحیح ورودی را تشخیص دهد، گزینه مفید است
اشیاء.

-دودویی|-bin|-abi

فقط مشکلات سازگاری "باینری" را نشان دهید. ایجاد گزارش به:

compat_reports/LIB_NAME/V1_to_V2/abi_compat_report.html

منبع|-src|-api

فقط مشکلات سازگاری "منبع" را نشان دهید. ایجاد گزارش به:

compat_reports/LIB_NAME/V1_to_V2/src_compat_report.html

محدود تحت تأثیر محدود

حداکثر تعداد نمادهای تحت تأثیر فهرست شده در زیر توضیحات تغییر یافته است
گزارش را تایپ کنید

OTHER گزینه ها:
-تست

تست های داخلی را اجرا کنید. ایجاد دو نسخه باینری ناسازگار از یک کتابخانه نمونه و
ابزار را اجرا کنید تا سازگاری آنها را بررسی کنید. این گزینه به شخص اجازه می دهد تا بررسی کند که آیا
این ابزار در محیط فعلی به درستی کار می کند.

-test-dump

تست توانایی ایجاد، خواندن و مقایسه زباله های ABI.

اشکال زدایی

حالت اشکال زدایی. اطلاعات اشکال زدایی را روی صفحه چاپ کنید. مراحل تحلیل میانی را ذخیره کنید
در دایرکتوری اشکال زدایی:

اشکال زدایی/LIB_NAME/VERSION/

استفاده را نیز در نظر بگیرید --زباله گزینه ای برای اشکال زدایی ابزار

-cpp-compatible

اگر فایل‌های هدر شما به زبان C نوشته شده‌اند و می‌توانند توسط G++ کامپایل شوند
کامپایلر (یعنی از کلمات کلیدی ++C استفاده نکنید)، سپس می توانید به ابزار در مورد این و
سرعت تجزیه و تحلیل

-cpp-ناسازگار

اگر فایل های هدر ورودی C از کلمات کلیدی C++ استفاده می کنند، این گزینه را تنظیم کنید.

-p|-params PATH

مسیر فایل با نام پارامترهای تابع. می توان از آن برای بهبود گزارش استفاده کرد
مشاهده کنید که آیا فایل های هدر کتابخانه فاقد نام پارامتر هستند. فرمت فایل:

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

...

-رابطه PATH

ماکروهای {RELPATH} را به PATH در توصیفگر XML مورد استفاده برای تخلیه کتابخانه جایگزین کنید.
ABI (نگاه کنید به -زباله گزینه).

-relpath1 PATH

ماکروهای {RELPATH} را به PATH در اولین توصیفگر XML (-d1).

-relpath2 PATH

ماکروهای {RELPATH} را به PATH در دومین توصیفگر XML (-d2).

-مسیر تخلیه PATH

مسیر فایل *.abi.tar.gz یا *.abi را مشخص کنید که در آن یک Dump ABI ایجاد شود. پیش فرض:

abi_dumps/LIB_NAME/LIB_NAME_VERSION.abi.tar.gz

-مرتب سازی

مرتب سازی داده ها را در انبارهای ABI فعال کنید.

-گزارش مسیر PATH

گزارش مسیر به سازگاری پیش فرض:

compat_reports/LIB_NAME/V1_to_V2/compat_report.html

مسیر -bin-report PATH

مسیر به گزارش سازگاری "باینری". پیش فرض:

compat_reports/LIB_NAME/V1_to_V2/abi_compat_report.html

-src-report-path PATH

مسیر به گزارش سازگاری "منبع". پیش فرض:

compat_reports/LIB_NAME/V1_to_V2/src_compat_report.html

- مسیر ورود PATH

مسیر ورود برای همه پیام ها پیش فرض:

logs/LIB_NAME/VERSION/log.txt

-log1-path PATH

مسیر گزارش برای نسخه اول یک کتابخانه. پیش فرض:

logs/LIB_NAME/V1/log.txt

-log2-path PATH

مسیر ثبت برای نسخه دوم یک کتابخانه. پیش فرض:

logs/LIB_NAME/V2/log.txt

-حالت ورود به سیستم MODE

تغییر حالت ورود به سیستم حالت ها:

w - بازنویسی گزارش‌های قدیمی (پیش‌فرض) a - اضافه کردن گزارش‌های قدیمی n - هیچ گزارشی ننویسید

-فهرست تحت تأثیر

فایلی با لیستی از نمادهای ناسازگار در کنار سازگاری HTML ایجاد کنید
گزارش. از دستور «c++filt @file» از GNU binutils برای باز کردن نمادهای C++ در
فایل تولید شده نام های پیش فرض:

abi_affected.txt src_affected.txt

-جزء نام

نام مؤلفه در عنوان و خلاصه گزارش HTML. پیش فرض:

کتابخانه

-عنوان نام

نام کتابخانه را در عنوان گزارش به NAME تغییر دهید. به طور پیش فرض a نمایش داده می شود
نام مشخص شده توسط -l گزینه.

-اطلاعات اضافی DIR

اطلاعات اضافی را به DIR بریزید.

تخلیه اضافی

یک Dump گسترده ABI حاوی تمام نمادها از واحد ترجمه ایجاد کنید.

-زور

اگر ابزار کار نمی کند سعی کنید از این گزینه استفاده کنید.

- تحمل سطح

مجموعه ای از اکتشافی ها را برای کامپایل موفقیت آمیز فایل های هدر ورودی اعمال کنید. تو می توانی
چندین سطح تحمل را با پیوستن آنها به یک رشته فعال کنید (مثلاً 13، 124،
و غیره.). سطوح:

1 - رد شدن از هدرهای غیر لینوکس (مثلاً win32_*.h و غیره) 2 - رد شدن از هدرهای داخلی (مثلاً
*_p.h، impl/*.h، و غیره) 3 - رد شدن از هدرهایی که شامل سرصفحه های غیر لینوکس هستند 4 - پرش
سرصفحه هایی که توسط دیگران ارائه شده است

-شادباش

فعال کردن بالاترین سطح تحمل [1234].

-بررسی

کامل بودن تخلیه ABI را بررسی کنید.

-سریع

تحلیل سریع بررسی برخی از نمونه‌های الگو را غیرفعال کنید.

نمادهای داخلی را پرش کنید الگو

نمادهای مطابق با الگو را بررسی نکنید.

-پرش-انواع-داخلی الگو

انواع مطابق با الگو را بررسی نکنید.

گزارش:
گزارش سازگاری برای موارد زیر ایجاد می شود:

compat_reports/LIB_NAME/V1_to_V2/compat_report.html

گزارش برای:

logs/LIB_NAME/V1/log.txt logs/LIB_NAME/V2/log.txt

خروج کدها:
0 - سازگار ابزار بدون هیچ خطایی اجرا شده است. غیر صفر - ناسازگار یا
ابزار با خطا اجرا شده است.

MORE اطلاعات:
http://lvc.github.io/abi-compliance-checker/

با استفاده از خدمات onworks.net از abi-compliance-checker به صورت آنلاین استفاده کنید


سرورها و ایستگاه های کاری رایگان

دانلود برنامه های ویندوز و لینوکس

  • 1
    پایکیوت
    پایکیوت
    PyQt پیوندهای پایتون است
    کراس پلتفرم Qt دیجیا
    چارچوب توسعه برنامه آی تی
    از Python v2 و v3 و Qt v4 و
    Qt v5. PyQt مفید است...
    PyQt را دانلود کنید
  • 2
    ساردی
    ساردی
    ساردی یک ریستایلینگ کامل و
    بهینه سازی کد svg 6 انتخاب برای
    برنامه های شما و 10 نوع پوشه
    برای استفاده در فایل منیجر خود ساردی
    آیکون های ...
    دانلود سردی
  • 3
    ایستگاه کاری صوتی دیجیتال LMMS
    ایستگاه کاری صوتی دیجیتال LMMS
    LMMS یک نرم افزار رایگان بین پلتفرمی است
    که به شما امکان تولید موسیقی با
    کامپیوتر شما. اگر این پروژه را دوست دارید
    مشارکت در پروژه را در نظر بگیرید
    ساعت ...
    دانلود LMMS Digital Audio Workstation
  • 4
    هسته زمان واقعی FreeRTOS (RTOS)
    هسته زمان واقعی FreeRTOS (RTOS)
    FreeRTOS یک بازار پیشرو در زمان واقعی است
    سیستم عامل (RTOS) برای
    میکروکنترلرها و کوچک
    ریزپردازنده ها آزادانه توزیع می شود
    تحت شپش منبع باز MIT ...
    دانلود کرنل زمان واقعی FreeRTOS (RTOS)
  • 5
    آووگادرو
    آووگادرو
    آووگادرو یک مولکولی پیشرفته است
    ویرایشگر طراحی شده برای استفاده بین پلتفرم
    در شیمی محاسباتی، مولکولی
    مدل سازی، بیوانفورماتیک، مواد
    علم و ...
    آووگادرو را دانلود کنید
  • 6
    XMLTV
    XMLTV
    XMLTV مجموعه ای از برنامه ها برای پردازش است
    لیست های تلویزیون (tvguide) و کمک به مدیریت
    تماشای تلویزیون شما، ذخیره لیست ها در یک
    فرمت مبتنی بر XML آب و برق به وجود دارد
    از...
    XMLTV را دانلود کنید
  • بیشتر "

دستورات لینوکس

Ad