เด‡เด‚เด—เตเดฒเต€เดทเตเดซเตเดฐเดžเตเดšเตเดธเตเดชเดพเดจเดฟเดทเต

Ad


OnWorks เดซเต†เดตเดฟเด•เตเด•เต‹เตบ

abicompat - เด•เตเดฒเต—เดกเดฟเตฝ เด“เตบเดฒเตˆเดจเดฟเตฝ

เด‰เดฌเตเดฃเตเดŸเต เด“เตบเดฒเตˆเตป, เดซเต†เดกเต‹เดฑ เด“เตบเดฒเตˆเตป, เดตเดฟเตปเดกเต‹เดธเต เด“เตบเดฒเตˆเตป เดŽเดฎเตเดฒเต‡เดฑเตเดฑเตผ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ MAC OS เด“เตบเดฒเตˆเตป เดŽเดฎเตเดฒเต‡เดฑเตเดฑเตผ เดŽเดจเตเดจเดฟเดตเดฏเดฟเดฒเต‚เดŸเต† OnWorks เดธเต—เดœเดจเตเดฏ เดนเต‹เดธเตเดฑเตเดฑเดฟเด‚เด—เต เดชเตเดฐเตŠเดตเตˆเดกเดฑเดฟเตฝ abicompat เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเด•

Ubuntu Online, Fedora Online, Windows online emulator เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ MAC OS เด“เตบเดฒเตˆเตป เดŽเดฎเตเดฒเต‡เดฑเตเดฑเตผ เดŽเดจเตเดจเดฟเด™เตเด™เดจเต†เดฏเตเดณเตเดณ เดžเด™เตเด™เดณเตเดŸเต† เด’เดจเตเดจเดฟเดฒเดงเดฟเด•เด‚ เดธเต—เดœเดจเตเดฏ เด“เตบเดฒเตˆเตป เดตเตผเด•เตเด•เตโ€Œเดธเตเดฑเตเดฑเต‡เดทเดจเตเด•เดณเดฟเดฒเตŠเดจเตเดจเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต OnWorks เดธเต—เดœเดจเตเดฏ เดนเต‹เดธเตเดฑเตเดฑเดฟเด‚เด—เต เดฆเดพเดคเดพเดตเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเดจเตเดจ abicompat เด•เดฎเดพเตปเดกเต เด†เดฃเดฟเดคเต.

เด‰เดฌเตเดฃเตเดŸเตเดตเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเด• เดซเต†เดกเต‹เดฑเดฏเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเด• เดตเดฟเตปเดกเต‹เดธเต เดธเดฟเดฎเตเดฎเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเด• MACOS เดธเดฟเดฎเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเด•

เดชเดŸเตเดŸเดฟเด•:

NAME


abicompat - ABI เด…เดจเตเดฏเต‹เดœเตเดฏเดค เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเด•

เดจเตฝเด•เดฟเดฏ เดชเด™เตเด•เดฟเดŸเตเดŸ เดฒเตˆเดฌเตเดฐเดฑเดฟเดฏเตเดฎเดพเดฏเดฟ เดฒเดฟเด™เตเด•เต เดšเต†เดฏเตเดฏเตเดจเตเดจ เด’เดฐเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เด‡เดชเตเดชเต‹เดดเตเด‚ เด‰เดฃเตเดŸเต‹เดฏเต†เดจเตเดจเต abicompat เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเดจเตเดจเต
ABI เด† เดฒเตˆเดฌเตเดฐเดฑเดฟเดฏเตเดŸเต† เดคเตเดŸเตผเดจเตเดจเตเดณเตเดณ เดชเดคเดฟเดชเตเดชเตเดฎเดพเดฏเดฟ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดจเตเดจเต. เดฏเตเดŸเต† เดชเตเดคเดฟเดฏ เดชเดคเดฟเดชเตเดชเดพเดฃเต†เด™เตเด•เดฟเตฝ
เดฒเตˆเดฌเตเดฐเดฑเดฟ เด’เดฐเต ABI เดชเตŠเดฐเตเดคเตเดคเด•เตเด•เต‡เดŸเต เด…เดตเดคเดฐเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต, เดคเตเดŸเตผเดจเตเดจเต abicompat เด‰เดชเดฏเต‹เด•เตเดคเดพเดตเดฟเดจเต† เด•เตƒเดคเตเดฏเดฎเดพเดฏเดฟ เดŽเดจเตเดคเดพเดฃเต เดธเต‚เดšเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเต
เดชเตŠเดฐเตเดคเตเดคเด•เตเด•เต‡เดŸเดพเดฃเต.

เด‡เตปเดตเต‹เด•เตเด•เต‡เดทเตป


abicompat [เด“เดชเตเดทเดจเตเด•เตพ] [ ]

เด“เดชเตเดทเดจเตเด•เตพ


ยท --เดธเดนเดพเดฏเดฟเด•เตเด•เต‚

เด•เดฎเดพเตปเดกเดฟเดจเต†เดฏเตเด‚ เดŽเด•เตเดธเดฟเดฑเตเดฑเดฟเดจเต†เดฏเตเด‚ เด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เด’เดฐเต เดšเต†เดฑเดฟเดฏ เดธเดนเดพเดฏเด‚ เดชเตเดฐเดฆเตผเดถเดฟเดชเตเดชเดฟเด•เตเด•เตเด•.

ยท --เดชเดคเดฟเดชเตเดชเต | -v

เดชเตเดฐเต‹เด—เตเดฐเดพเดฎเดฟเดจเตเดฑเต† เดชเดคเดฟเดชเตเดชเต เดชเตเดฐเดฆเตผเดถเดฟเดชเตเดชเดฟเดšเตเดšเต เดชเตเดฑเดคเตเดคเตเด•เดŸเด•เตเด•เตเด•.

ยท --เดฒเดฟเดธเตเดฑเตเดฑเต-เดจเดฟเตผเดตเดšเดฟเด•เตเด•เดพเดคเตเดค-เดšเดฟเดนเตเดจเด™เตเด™เตพ | -u

เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเดฑเต† เดจเดฟเตผเดตเดšเดฟเด•เตเด•เดพเดคเตเดค เดšเดฟเดนเตเดจเด™เตเด™เดณเตเดŸเต† เดฒเดฟเดธเตเดฑเตเดฑเต เดชเตเดฐเดฆเตผเดถเดฟเดชเตเดชเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดชเตเดฑเดคเตเดคเตเด•เดŸเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเด•.

ยท --เดทเต‹-เดฌเต‡เดธเต-เดจเต†เดฏเดฟเดฎเตเด•เตพ | -b

เดŸเต‚เตพ เดชเตเดฑเดชเตเดชเต†เดŸเตเดตเดฟเดšเตเดš เดซเดฒเดฎเดพเดฏ เดฑเดฟเดชเตเดชเต‹เตผเดŸเตเดŸเดฟเตฝ, เดˆ เด“เดชเตโ€Œเดทเตป เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เด‰เดฃเตเดŸเดพเด•เตเด•เตเดจเตเดจเต
เด—เตเดฐเดจเตเดฅเดถเดพเดฒเด•เดณเต† เด…เดตเดฏเตเดŸเต† เด…เดŸเดฟเดธเตเดฅเดพเดจ เดจเดพเดฎเดคเตเดคเดฟเตฝ เดฎเดพเดคเตเดฐเดฎเต‡ เดชเดฐเดพเดฎเตผเดถเดฟเด•เตเด•เดพเดตเต‚; เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏ เด’เดฐเต เดชเต‡เดฐเดฟเตฝ เด…เดฒเตเดฒ. เดˆ
เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเดฑเต† เดชเต‡เดฐเตเด•เตพ เดคเดพเดฐเดคเดฎเตเดฏเด‚ เดšเต†เดฏเตเดฏเดพเตป เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจ เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเตเด•เดณเดฟเตฝ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเตป เด‡เดคเต เด‰เดชเดฏเต‹เด—เดชเตเดฐเดฆเดฎเดพเด•เตเด‚
เดฒเตˆเดฌเตเดฐเดฑเดฟเด•เตพ เด…เดตเดฏเตเดŸเต† เดกเดฏเดฑเด•เตเดŸเดฑเดฟ เดจเดพเดฎเด™เตเด™เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดธเตเดตเดคเดจเตเดคเตเดฐเดฎเดพเดฏเดฟ.

ยท --app-debug-info-dir

เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเดฑเต† เดกเต€เดฌเด—เต เดตเดฟเดตเดฐเด™เตเด™เตพ เด‰เดณเตเดณ เดกเดฏเดฑเด•เตเดŸเดฑเดฟเดฏเดฟเดฒเต‡เด•เตเด•เต เดชเดพเดคเตเดคเต เดธเดœเตเดœเดฎเดพเด•เตเด•เตเด•
เดตเต†เดšเตเดšเต เดŽเดจเตเดจเต เด•เดฐเตเดคเดชเตเดชเต†เดŸเตเดจเตเดจเต. เดกเต€เดฌเด—เต เดšเต†เดฏเตเดฏเตเดจเตเดจ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดฌเตˆเดจเดฑเดฟเด•เตพเด•เตเด•เต เด‡เดคเต เด‰เดชเดฏเต‹เด—เดชเตเดฐเดฆเดฎเดพเดฃเต
เดตเดฟเดตเดฐเด™เตเด™เตพ เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เดซเดฏเดฒเตเด•เดณเดฟเดฒเดพเดฃเต.

ยท --lib-debug-info-dir1

เด†เดฆเตเดฏ เดชเดคเดฟเดชเตเดชเดฟเดจเตเดฑเต† เดกเต€เดฌเด—เต เดตเดฟเดตเดฐเด™เตเด™เตพ เด‰เดณเตเดณ เดกเดฏเดฑเด•เตเดŸเดฑเดฟเดฏเดฟเดฒเต‡เด•เตเด•เต เดชเดพเดคเตเดคเต เดธเดœเตเดœเดฎเดพเด•เตเด•เตเด•
เดชเด™เตเด•เดฟเดŸเตเดŸ เดฒเตˆเดฌเตเดฐเดฑเดฟเดฏเตเดŸเต† เดจเดฟเดฐเดคเตเดคเดฃเด‚. เดชเด™เตเด•เดฟเดŸเตเดŸ เดฒเตˆเดฌเตเดฐเดฑเดฟเด•เตเด•เต เด‡เดคเต เด‰เดชเดฏเต‹เด—เดชเตเดฐเดฆเดฎเดพเดฃเต
เดกเต€เดฌเด—เต เดตเดฟเดตเดฐเด™เตเด™เตพ เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เดซเดฏเดฒเตเด•เดณเดฟเดฒเตเดณเตเดณ เดฌเตˆเดจเดฑเดฟเด•เตพ.

ยท --lib-debug-info-dir2

เดฐเดฃเตเดŸเดพเดฎเดคเตเดคเต† เดชเดคเดฟเดชเตเดชเดฟเดจเตเดฑเต† เดกเต€เดฌเด—เต เดตเดฟเดตเดฐเด™เตเด™เตพ เด‰เดณเตเดณ เดกเดฏเดฑเด•เตเดŸเดฑเดฟเดฏเดฟเดฒเต‡เด•เตเด•เต เดชเดพเดคเตเดคเต เดธเดœเตเดœเดฎเดพเด•เตเด•เตเด•
เดชเด™เตเด•เดฟเดŸเตเดŸ เดฒเตˆเดฌเตเดฐเดฑเดฟเดฏเตเดŸเต† เดจเดฟเดฐเดคเตเดคเดฃเด‚. เดชเด™เตเด•เดฟเดŸเตเดŸ เดฒเตˆเดฌเตเดฐเดฑเดฟเด•เตเด•เต เด‡เดคเต เด‰เดชเดฏเต‹เด—เดชเตเดฐเดฆเดฎเดพเดฃเต
เดกเต€เดฌเด—เต เดตเดฟเดตเดฐเด™เตเด™เตพ เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เดซเดฏเดฒเตเด•เดณเดฟเดฒเตเดณเตเดณ เดฌเตˆเดจเดฑเดฟเด•เตพ.

ยท --เดจเต‹-เดทเต‹-เดฒเต‹เด•เตเด•เตเด•เตพ
เดŽเดตเดฟเดŸเต† เดŽเดจเตเดจเดคเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดตเดฟเดตเดฐเด™เตเด™เตพ เด•เดพเดฃเดฟเด•เตเด•เดฐเตเดคเต เดธเต†เด•เตเด•เดจเตเดฑเต เดชเด™เตเด•เดฟเดŸเตเดŸเต เดฒเตˆเดฌเตเดฐเดฑเดฟ เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸเดต
เดคเดฐเด‚ เดฎเดพเดฑเตเดฑเดฟ.

ยท --เดฆเตเตผเดฌเดฒเดฎเดพเดฏ เดฎเต‹เดกเต

เด‡เดคเต เดฆเตเตผเดฌเดฒเดฎเดพเดฏ เดฎเต‹เดกเต เดŸเตเดฐเดฟเด—เตผ เดšเต†เดฏเตเดฏเตเดจเตเดจเต abicompat. เดˆ เดฎเต‹เดกเดฟเตฝ, เด’เดฐเต เดชเดคเดฟเดชเตเดชเต เดฎเดพเดคเตเดฐเด‚
เดฒเตˆเดฌเตเดฐเดฑเดฟ เด†เดตเดถเตเดฏเดฎเดพเดฃเต. เด…เดคเดพเดฏเดคเต, abicompat เด‡เดคเตเดชเต‹เดฒเต†เดฏเดพเดฃเต เดตเดฟเดณเดฟเด•เตเด•เตเดจเตเดจเดคเต:

abicompat --เดตเต€เด•เตเด•เต-เดฎเต‹เดกเต

เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เตเด• --เดฆเตเตผเดฌเดฒเดฎเดพเดฏ เดฎเต‹เดกเต เดŽเดจเตเดจเดคเดฟเดจเตเดฑเต† เด’เดฐเต เดชเดคเดฟเดชเตเดชเต เดฎเดพเดคเตเดฐเดฎเดพเดฃเต†เด™เตเด•เดฟเตฝ เดชเต‹เดฒเตเด‚ เด“เดชเตเดทเตป เด’เดดเดฟเดตเดพเด•เตเด•เดพเดตเตเดจเตเดจเดคเดพเดฃเต
เด…เดชเต‡เด•เตเดทเดฏเต‹เดŸเตŠเดชเตเดชเด‚ เดฒเตˆเดฌเตเดฐเดฑเดฟ เดจเตฝเด•เดฟเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต; เด…เด™เตเด™เดจเต†เดฏเต†เด™เตเด•เดฟเตฝ, abicompat เด“เดŸเตเดŸเต‡เดพเดฎเดพเดฑเตเดฑเดฟเดฏเตเด•เตเด•เดพเดฏเดฟ
เดฆเตเตผเดฌเดฒเดฎเดพเดฏ เดฎเต‹เดกเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเดจเตเดณเตเดณ เดธเตเดตเดฟเดšเตเดšเตเด•เตพ:

abicompat

เดˆ เดฆเตเตผเดฌเดฒเดฎเดพเดฏ เดฎเต‹เดกเดฟเตฝ, เดฒเตˆเดฌเตเดฐเดฑเดฟ เด•เดฏเดฑเตเดฑเตเดฎเดคเดฟ เดšเต†เดฏเตเดฏเตเดจเตเดจ เดซเด‚เด—เตโ€Œเดทเดจเตเด•เดณเตเดŸเต†เดฏเตเด‚ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เดณเตเดŸเต†เดฏเตเด‚ เดคเดฐเด™เตเด™เดณเตเด‚
เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเดคเต (เดˆ เดซเด‚เด—เตเดทเดจเตเด•เดณเตเดŸเต†เดฏเตเด‚ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เดณเตเดŸเต†เดฏเตเด‚ เดšเดฟเดนเตเดจเด™เตเด™เตพ เดชเต‹เดฒเต†
เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเดฟเตฝ เดจเดฟเตผเดตเดšเดฟเด•เตเด•เดชเตเดชเต†เดŸเดพเดคเตเดคเดตเดฏเตเด‚ เดฒเตˆเดฌเตเดฐเดฑเดฟ เดจเดฟเตผเดตเดšเดฟเด•เตเด•เตเด•เดฏเตเด‚ เด•เดฏเดฑเตเดฑเตเดฎเดคเดฟ เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต) เด†เด•เตเดจเตเดจเต
เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดชเตเดฐเดคเต€เด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเดคเต เดชเต‹เดฒเต† เดˆ เดคเดฐเด™เตเด™เดณเตเดŸเต† เดชเดคเดฟเดชเตเดชเตเดฎเดพเดฏเดฟ เดคเดพเดฐเดคเดฎเตเดฏเด‚ เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ. เด‡เดตเดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ
เดคเดฐเด™เตเด™เดณเตเดŸเต† เดฐเดฃเตเดŸเต เดชเดคเดฟเดชเตเดชเตเด•เตพ เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฃเต, abicompat เดตเตเดฏเดคเตเดฏเดพเดธเด™เตเด™เตพ เดŽเดจเตเดคเดพเดฃเต†เดจเตเดจเต เด‰เดชเดฏเต‹เด•เตเดคเดพเดตเดฟเดจเต‹เดŸเต เดชเดฑเดฏเตเดจเตเดจเต
เด†เด•เตเดจเตเดจเต.

เดฎเดฑเตเดฑเตŠเดฐเต เดตเดฟเดงเดคเตเดคเดฟเตฝ เดชเดฑเดžเตเดžเดพเตฝ, เดˆ เดฎเต‹เดกเดฟเตฝ, abicompat เดซเด‚เด—เตโ€Œเดทเดจเตเด•เดณเตเดŸเต† เดคเดฐเด™เตเด™เดณเตเด‚ เด’เดชเตเดชเด‚
เดฒเตˆเดฌเตเดฐเดฑเดฟ เด•เดฏเดฑเตเดฑเตเดฎเดคเดฟ เดšเต†เดฏเตเดฏเตเดจเตเดจ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เตพ เด…เตผเดคเตเดฅเดฎเดพเด•เตเด•เตเดจเตเดจเดคเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเดฑเต† เด…เดคเต‡ เด•เดพเดฐเตเดฏเดฎเดพเดฃเต
เดชเตเดฐเดคเต€เด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเต, เดŽเดฌเดฟเดเดฏเต† เดธเด‚เดฌเดจเตเดงเดฟเดšเตเดšเดฟเดŸเดคเตเดคเต‹เดณเด‚.

เดˆ เดฎเต‹เดกเดฟเตฝ เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เตเด•, abicompat เด•เดฏเดฑเตเดฑเตเดฎเดคเดฟ เดšเต†เดฏเตโ€Œเดค เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เดณเต‹ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เดณเต‹ เด•เดฃเตเดŸเต†เดคเตเดคเตเดจเตเดจเดฟเดฒเตเดฒ
(เดšเดฟเดนเตเดจเด™เตเด™เตพ) เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดชเตเดฐเดคเต€เด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเดคเตเด‚ เดŽเดจเตเดจเดพเตฝ เดฒเตˆเดฌเตเดฐเดฑเดฟเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเตเด‚.
เด…เดคเตเด•เตŠเดฃเตเดŸเดพเดฃเต เด…เด™เตเด™เดจเต† เดตเดฟเดณเดฟเด•เตเด•เตเดจเตเดจเดคเต เดฆเตเตผเดฌเดฒเดฎเดพเดฏ เดฎเต‹เดกเต.

เดคเดฟเดฐเดฟเด•เต† เดฎเต‚เดฒเตเดฏเด™เตเด™เตพ


เดฏเตเดŸเต† เดŽเด•เตเดธเดฟเดฑเตเดฑเต เด•เต‹เดกเต abicompat เดฌเตˆเดจเดฑเดฟเด•เดณเตเดŸเต† เดŽเดฌเดฟเด เด†เดฃเต†เด™เตเด•เดฟเตฝ เด•เดฎเดพเตปเดกเต เด’เดจเตเดจเตเด•เดฟเตฝ 0 เด†เดฃเต
เดคเดพเดฐเดคเดฎเตเดฏเดชเตเดชเต†เดŸเตเดคเตเดคเตเดจเตเดจเดคเต เดคเตเดฒเตเดฏเดฎเดพเดฃเต, เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด…เดต เดตเตเดฏเดคเตเดฏเดพเดธเดชเตเดชเต†เดŸเตเดŸเดพเตฝ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด‰เดชเด•เดฐเดฃเด‚ เด’เดฐเต เดชเดฟเดถเด•เต เดจเต‡เดฐเดฟเดŸเตเดŸเดพเตฝ เดชเต‚เดœเตเดฏเดฎเดฒเตเดฒ.

เดชเดฟเดจเตเดจเต€เดŸเตเดณเตเดณ เดธเดจเตเดฆเตผเดญเดคเตเดคเดฟเตฝ, เดŽเด•เตเดธเดฟเดฑเตเดฑเต เด•เต‹เดกเต 8-เดฌเดฟเดฑเตเดฑเต เดตเตˆเดกเต เดฌเดฟเดฑเตเดฑเต เดซเต€เตฝเดกเดพเดฃเต, เด…เดคเดฟเตฝ เด“เดฐเต‹ เดฌเดฟเดฑเตเดฑเดฟเดจเตเด‚ a เด‰เดฃเตเดŸเต
เดจเดฟเตผเดฆเตเดฆเดฟเดทเตเดŸ เด…เตผเดคเตเดฅเด‚.

เด†เดฆเตเดฏเดคเตเดคเต† เดฌเดฟเดฑเตเดฑเต, เดฎเต‚เดฒเตเดฏเด‚ 1-เดจเตเดฑเต† เดชเต‡เดฐเต ABIDIFF_ERROR เด’เดฐเต เดชเดฟเดถเด•เต เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเตเดจเตเดจเต เดŽเดจเตเดจเดพเดฃเต เด…เตผเดคเตเดฅเดฎเดพเด•เตเด•เตเดจเตเดจเดคเต.

เดฐเดฃเตเดŸเดพเดฎเดคเตเดคเต† เดฌเดฟเดฑเตเดฑเต, เดฎเต‚เดฒเตเดฏเด‚ 2-เดจเตเดฑเต† เดชเต‡เดฐเต ABIDIFF_USAGE_ERROR เดตเดดเดฟเดฏเดฟเตฝ เด’เดฐเต เดชเดฟเดถเด•เต เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเตเดจเตเดจเต เดŽเดจเตเดจเดพเดฃเต เด…เตผเดคเตเดฅเดฎเดพเด•เตเด•เตเดจเตเดจเดคเต
เด‰เดชเดฏเต‹เด•เตเดคเดพเดตเต เด‰เดชเด•เดฐเดฃเด‚ เด…เดญเตเดฏเตผเดคเตเดฅเดฟเดšเตเดšเต. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เด‰เดชเดฏเต‹เด•เตเดคเดพเดตเต เด‰เดชเด•เดฐเดฃเด‚ เด…เดญเตเดฏเตผเดคเตเดฅเดฟเดšเตเดšเดพเตฝ เด…เดคเต เดธเดœเตเดœเดฎเดพเด•เตเด•เดฟเดฏเต‡เด•เตเด•เดพเด‚
เด’เดฐเต เด…เดœเตเดžเดพเดค เด•เดฎเดพเตปเดกเต เดฒเตˆเตป เดธเตเดตเดฟเดšเตเดšเต, เดคเต†เดฑเตเดฑเดพเดฏ เดจเดฎเตเดชเตผ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด†เตผเด—เตเดฏเตเดฎเต†เดจเตเดฑเต เดฎเตเดคเดฒเดพเดฏเดต. เดˆ เดฌเดฟเดฑเตเดฑเต เด†เดฃเต†เด™เตเด•เดฟเตฝ
เดธเต†เดฑเตเดฑเต, เดชเดฟเดจเตเดจเต† เดฆเดฟ ABIDIFF_ERROR เดฌเดฟเดฑเตเดฑเตเด‚ เดธเต†เดฑเตเดฑเต เดšเต†เดฏเตเดฏเดฃเด‚.

เดฎเต‚เดฒเตเดฏเด‚ 4-เดจเตเดฑเต† เดฎเต‚เดจเตเดจเดพเดฎเดคเตเดคเต† เดฌเดฟเดฑเตเดฑเต, เดชเต‡เดฐเต ABIDIFF_ABI_CHANGE เดฌเตˆเดจเดฑเดฟเด•เดณเตเดŸเต† เดŽเดฌเดฟเด เดŽเดจเตเดจเดพเดฃเต เด…เตผเดคเตเดฅเดฎเดพเด•เตเด•เตเดจเตเดจเดคเต
เดคเดพเดฐเดคเดฎเตเดฏเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฃเต.

เดจเดพเดฒเดพเดฎเดคเตเดคเต† เดฌเดฟเดฑเตเดฑเต, เดฎเต‚เดฒเตเดฏเด‚ 8, เดชเต‡เดฐเต ABIDIFF_ABI_INCOMPATIBLE_CHANGE เดŽเดจเตเดจเดคเดฟเดจเตเดฑเต† ABI เดŽเดจเตเดจเดพเดฃเต เด…เตผเดคเตเดฅเดฎเดพเด•เตเด•เตเดจเตเดจเดคเต
เดคเดพเดฐเดคเดฎเตเดฏเด‚ เดšเต†เดฏเตเดค เดฌเตˆเดจเดฑเดฟเด•เตพ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเดพเดคเตเดค เดฐเต€เดคเดฟเดฏเดฟเตฝ เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฃเต. เดˆ เดฌเดฟเดฑเตเดฑเต เดธเดœเตเดœเดฎเดพเด•เตเด•เดฟเดฏเดพเตฝ, เดชเดฟเดจเตเดจเต†
ABIDIFF_ABI_CHANGE เดฌเดฟเดฑเตเดฑเตเด‚ เดธเต†เดฑเตเดฑเต เดšเต†เดฏเตเดฏเดฃเด‚. เดŽเด™เตเด•เดฟเตฝ ABIDIFF_ABI_CHANGE เดธเต†เดฑเตเดฑเต เด†เดฃเต
ABIDIFF_INCOMPATIBLE_CHANGE is เดšเต†เดฏเตเดฏเดฟเดฒเตเดฒ เดธเดœเตเดœเต€เด•เดฐเดฟเดšเตเดšเต, เด…เดชเตเดชเต‹เตพ เด…เดคเดฟเดจเตผเดคเตเดฅเด‚ เดคเดพเดฐเดคเดฎเตเดฏเดชเตเดชเต†เดŸเตเดคเตเดคเตเดจเตเดจ เดŽเดฌเดฟเดเด•เตพ เดธเดพเดงเตเดฏเดคเดฏเดพเดฃเต†เดจเตเดจเดพเดฃเต
เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดฒเตเดฒเดพเดฏเดฟเดฐเดฟเด•เตเด•เดพเด‚. เด…เด™เตเด™เดจเต†เดฏเต†เด™เตเด•เดฟเตฝ, เด’เดฐเต เดฎเดจเตเดทเตเดฏเตป ABI เดฎเดพเดฑเตเดฑเด™เตเด™เตพ เด…เดตเดฒเต‹เด•เดจเด‚ เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต
เด…เดต เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดพเดฃเต‹ เด…เดฒเตเดฒเดฏเต‹ เดŽเดจเตเดจเต เดคเต€เดฐเตเดฎเดพเดจเดฟเด•เตเด•เดพเตป.

เดถเต‡เดทเดฟเด•เตเด•เตเดจเตเดจ เดฌเดฟเดฑเตเดฑเตเด•เตพ เดคเตฝเด•เตเด•เดพเดฒเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ.

USAGE เด‰เดฆเดพเดนเดฐเดฃเด™เตเด™เตพ


เด’เดฐเต เดชเตเดคเดฟเดฏ เดชเด™เตเด•เดฟเดŸเตเดŸ เดฒเตˆเดฌเตเดฐเดฑเดฟ เดชเดคเดฟเดชเตเดชเดฟเตฝ เดธเดพเดงเตเดฏเดฎเดพเดฏ เดŽเดฌเดฟเด เดชเตŠเดฐเตเดคเตเดคเด•เตเด•เต‡เดŸเต เด•เดฃเตเดŸเต†เดคเตเดคเตฝ:

$ cat -n test0.h
1 struct foo
2 {
3 int m0;
4
5 เด…เดŸเดฟ()
6 : m0()
7 {}
8 };
9
10 เด…เดŸเดฟ*
11 first_func();
12
13 เด…เดธเดพเดงเตเดตเดพเดฃเต
14 second_func(foo&);
15
16 เด…เดธเดพเดงเตเดตเดพเดฃเต
17 เดฎเต‚เดจเตเดจเดพเด‚_เดซเด™เตเด•เต();
$

$ cat -n test-app.cc
1 // เด‡เดคเตเดชเดฏเต‹เด—เดฟเดšเตเดšเต เด•เด‚เดชเตˆเตฝ เดšเต†เดฏเตเดฏเตเด•:
2 // g++ -g -Wall -o test-app -L. -ltest-0 test-app.cc
3
4 #"test0.h" เด‰เตพเดชเตเดชเต†เดŸเตเดคเตเดคเตเด•
5
6 int
7 เดชเตเดฐเดงเดพเดจ()
8 {
9 foo* f = first_func();
10 second_func(*f);
11 เดฑเดฟเดŸเตเดŸเต‡เตบ 0;
12 }
$

$ cat -n test0.cc
1 // เด‡เดคเตเดฎเดพเดฏเดฟ เดธเดฎเดพเดนเดฐเดฟเด•เตเด•เตเด•:
2 // g++ -g -Wall -shared -o libtest-0.so test0.cc
3
4 #"test0.h" เด‰เตพเดชเตเดชเต†เดŸเตเดคเตเดคเตเด•
5
6 เด…เดŸเดฟ*
7 เดซเดธเตเดฑเตเดฑเต_เดซเด™เตเด•เต()
8 {
9 foo* f = เดชเตเดคเดฟเดฏ foo();
10 เดฑเดฟเดŸเตเดŸเต‡เตบ เดŽเดซเต;
11 }
12
13 เด…เดธเดพเดงเตเดตเดพเดฃเต
14 เดธเต†เด•เตเด•เตปเดกเต_เดซเด™เตเด•เต(เดซเต‚&)
15 {
16 }
17
18 เด…เดธเดพเดงเตเดตเดพเดฃเต
19 เดฎเต‚เดจเตเดจเดพเด‚_เดซเด™เตเด•เต()
20 {
21 }
$

$ cat -n test1.h
1 struct foo
2 {
3 int m0;
4 เดšเดพเตผ m1; /* <-- เด’เดฐเต เดชเตเดคเดฟเดฏ เด…เด‚เด—เด‚ เด‡เดตเดฟเดŸเต† เดšเต‡เตผเดคเตเดคเต! */
5
6 เด…เดŸเดฟ()
7 : m0(),
8 m1()
9 {}
10 };
11
12 เด…เดŸเดฟ*
13 first_func();
14
15 เด…เดธเดพเดงเตเดตเดพเดฃเต
16 second_func(foo&);
17
18 เด…เดธเดพเดงเตเดตเดพเดฃเต
19 เดฎเต‚เดจเตเดจเดพเด‚_เดซเด™เตเด•เต();
$

$ cat -n test1.cc
1 // เด‡เดคเตเดฎเดพเดฏเดฟ เดธเดฎเดพเดนเดฐเดฟเด•เตเด•เตเด•:
2 // g++ -g -Wall -shared -o libtest-1.so test1.cc
3
4 #"test1.h" เด‰เตพเดชเตเดชเต†เดŸเตเดคเตเดคเตเด•
5
6 เด…เดŸเดฟ*
7 เดซเดธเตเดฑเตเดฑเต_เดซเด™เตเด•เต()
8 {
9 foo* f = เดชเตเดคเดฟเดฏ foo();
10 เดฑเดฟเดŸเตเดŸเต‡เตบ เดŽเดซเต;
11 }
12
13 เด…เดธเดพเดงเตเดตเดพเดฃเต
14 เดธเต†เด•เตเด•เตปเดกเต_เดซเด™เตเด•เต(เดซเต‚&)
15 {
16 }
17
18 /* เดฎเต‚เดจเตเดจเดพเดฎเดคเตเดคเต†_func() เดจเตเดฑเต† เดจเดฟเตผเดตเดšเดจเด‚ เดจเดฎเตเด•เตเด•เต เด…เดญเดฟเดชเตเดฐเดพเดฏเดชเตเดชเต†เดŸเดพเด‚
19 เด…เดธเดพเดงเตเดตเดพเดฃเต
20 เดฎเต‚เดจเตเดจเดพเด‚_เดซเด™เตเด•เต()
21 {
22 }
23 */
$

ยท เดฒเตˆเดฌเตเดฐเดฑเดฟเด•เดณเตเดŸเต† เด’เดจเตเดจเตเด‚ เดฐเดฃเตเดŸเตเด‚ เดชเดคเดฟเดชเตเดชเตเด•เตพ เดธเดฎเดพเดนเดฐเดฟเด•เตเด•เตเด•: libtest-0.so เด’เดชเตเดชเด‚
libtest-1.so:

$ g++ -g -Wall -shared -o libtest-0.so test0.cc
$ g++ -g -Wall -shared -o libtest-1.so test1.cc

ยท เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดธเดฎเดพเดนเดฐเดฟเดšเตเดšเต เดฒเตˆเดฌเตเดฐเดฑเดฟเดฏเตเดŸเต† เด†เดฆเตเดฏ เดชเดคเดฟเดชเตเดชเตเดฎเดพเดฏเดฟ เดฒเดฟเด™เตเด•เต เดšเต†เดฏเตเดฏเตเด•,
เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเต เดŸเต†เดธเตเดฑเตเดฑเต-เด†เดชเตเดชเต เดฌเตˆเดจเดฑเดฟ:

$ g++ -g -Wall -o test-app -L. -ltest-0.so test-app.cc

ยท เด‡เดชเตเดชเต‹เตพ, เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด• abicompat libtest-1.so เด†เดชเตเดชเตเดฎเดพเดฏเดฟ เดŽเดฌเดฟเด เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดพเดฃเต‹ เดŽเดจเตเดจเต เดจเต‹เด•เตเด•เตเด•
libtest-0.so เดŽเดจเตเดจ เดŽเดฌเดฟเดเดฏเดฟเดฒเต‡เด•เตเด•เต:

$ abicompat test-app libtest-0.so libtest-1.so
เดšเตเดตเดŸเต†เดฏเตเดณเตเดณ 'libtest-1.so' เดฏเตเดฎเดพเดฏเตเดณเตเดณ เดตเตเดฏเดคเตเดฏเดพเดธเด™เตเด™เตพ เด•เดพเดฐเดฃเด‚ ELF เดซเดฏเตฝ 'เดŸเต†เดธเตเดฑเตเดฑเต-เด†เดชเตเดชเต' 'libtest-0.so' เดŽเดจเตเดจเดคเดฟเดจเต เดŽเดฌเดฟเด เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดฒเตเดฒเดพเดฏเดฟเดฐเดฟเด•เตเด•เดพเด‚:
เดซเด‚เด—เตโ€Œเดทเดจเตเด•เดณเตเดŸเต† เดฎเดพเดฑเตเดฑเด™เตเด™เดณเตเดŸเต† เดธเด‚เด—เตเดฐเดนเด‚: 0 เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตโ€Œเดคเต, 2 เดฎเดพเดฑเตเดฑเดฟ, 0 เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพ เดšเต‡เตผเดคเตเดคเต
เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เดณเตเดŸเต† เดฎเดพเดฑเตเดฑเด™เตเด™เดณเตเดŸเต† เดธเด‚เด—เตเดฐเดนเด‚: 0 เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตเดคเต, 0 เดฎเดพเดฑเตเดฑเดฟ, 0 เดตเต‡เดฐเดฟเดฏเดฌเดฟเตพ เดšเต‡เตผเดคเตเดคเต

เดšเดฟเดฒ เดชเดฐเต‹เด•เตเดทเดฎเดพเดฏ เด‰เดช-เดคเดฐเด‚ เดฎเดพเดฑเตเดฑเด™เตเด™เดณเตเดณเตเดณ 2 เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพ:

[C]'function foo* first_func()' เดšเดฟเดฒ เดชเดฐเต‹เด•เตเดทเดฎเดพเดฏ เด‰เดช-เดคเดฐเด‚ เดฎเดพเดฑเตเดฑเด™เตเด™เดณเตเดฃเตเดŸเต:
เดฑเดฟเดŸเตเดŸเต‡เตบ เดคเดฐเด‚ เดฎเดพเดฑเตเดฑเดฟ:
'struct foo' เดŽเดจเตเดจเต เดŸเตˆเดชเตเดชเต เดšเต†เดฏเตเดฏเดพเตป เดšเต‚เดฃเตเดŸเดฟเด•เตเด•เดพเดฃเดฟเด•เตเด•เตเดจเตเดจเต:
เดตเดฒเดฟเดชเตเดชเด‚ 32 เตฝ เดจเดฟเดจเตเดจเต 64 เดฌเดฟเดฑเตเดฑเตเด•เดณเดพเดฏเดฟ เดฎเดพเดฑเดฟ
1 เด…เด‚เด— เดกเดพเดฑเตเดฑ เด‰เตพเดชเตเดชเต†เดŸเตเดคเตเดคเตฝ:
'char foo::m1', เด“เดซเตโ€Œเดธเต†เดฑเตเดฑเต 32-เตฝ (เดฌเดฟเดฑเตเดฑเตเด•เดณเดฟเตฝ)
[C]'function void second_func(foo&)' เดšเดฟเดฒ เดชเดฐเต‹เด•เตเดทเดฎเดพเดฏ เด‰เดช-เดคเดฐเด‚ เดฎเดพเดฑเตเดฑเด™เตเด™เดณเตเดฃเตเดŸเต:
'foo&' เดคเดฐเดคเตเดคเดฟเดจเตเดฑเต† เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเตผ 0-เดจเต เด‰เดช-เดคเดฐเด‚ เดฎเดพเดฑเตเดฑเด™เตเด™เดณเตเดฃเตเดŸเต:
เดชเดฐเดพเดฎเตผเดถเดฟเดšเตเดš เดคเดฐเด‚ 'struct foo' เดฎเดพเดฑเตเดฑเดฟ, เดจเต‡เดฐเดคเตเดคเต† เดฑเดฟเดชเตเดชเต‹เตผเดŸเตเดŸเต เดšเต†เดฏเตเดคเดคเตเดชเต‹เดฒเต†

$

ยท เด‡เดชเตเดชเต‹เตพ abicompat-เดจเตเดฑเต† เดฆเตเตผเดฌเดฒเดฎเดพเดฏ เดฎเต‹เดกเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•, เด…เดคเดพเดฏเดคเต, เดตเต†เดฑเตเด‚ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด‚ เด’เดชเตเดชเด‚
เดฒเตˆเดฌเตเดฐเดฑเดฟเดฏเตเดŸเต† เดชเตเดคเดฟเดฏ เดชเดคเดฟเดชเตเดชเต:

$ abicompat --weak-mode test-app libtest-1.so
เดฒเตˆเดฌเตเดฐเดฑเดฟเดฏเดฟเตฝ เดจเดฟเตผเดตเดšเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพ
'libtest-1.so'
เดเดคเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเดฟเตฝ เดจเดฟเดจเตเดจเตเด‚ เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฏ เด‰เดช-เดคเดฐเด‚ เด‰เดฃเตเดŸเต
'เดŸเต†เดธเตเดฑเตเดฑเต-เด†เดชเตเดชเต'
เดชเตเดฐเดคเต€เด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเต:

เดซเด‚เด—เตเดทเตป foo* first_func():
เดฑเดฟเดŸเตเดŸเต‡เตบ เดคเดฐเด‚ เดฎเดพเดฑเตเดฑเดฟ:
'struct foo' เดŽเดจเตเดจเต เดŸเตˆเดชเตเดชเต เดšเต†เดฏเตเดฏเดพเตป เดšเต‚เดฃเตเดŸเดฟเด•เตเด•เดพเดฃเดฟเด•เตเด•เตเดจเตเดจเต:
เดตเดฒเดฟเดชเตเดชเด‚ 32 เตฝ เดจเดฟเดจเตเดจเต 64 เดฌเดฟเดฑเตเดฑเตเด•เดณเดพเดฏเดฟ เดฎเดพเดฑเดฟ
1 เด…เด‚เด— เดกเดพเดฑเตเดฑ เด‰เตพเดชเตเดชเต†เดŸเตเดคเตเดคเตฝ:
'char foo::m1', เด“เดซเตโ€Œเดธเต†เดฑเตเดฑเต 32-เตฝ (เดฌเดฟเดฑเตเดฑเตเด•เดณเดฟเตฝ)

$

onworks.net เดธเต‡เดตเดจเด™เตเด™เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต abicompat เด“เตบเดฒเตˆเดจเดพเดฏเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•


เดธเต—เดœเดจเตเดฏ เดธเต†เตผเดตเดฑเตเด•เดณเตเด‚ เดตเตผเด•เตเด•เตเดธเตเดฑเตเดฑเต‡เดทเดจเตเด•เดณเตเด‚

Windows & Linux เด†เดชเตเดชเตเด•เตพ เดกเต—เตบเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเตเด•

เดฒเดฟเดจเด•เตเดธเต เด•เดฎเดพเตปเดกเตเด•เตพ

Ad