Ubuntu Online, Fedora Online, Windows online emulator เด เดฒเตเดฒเตเดเตเดเดฟเตฝ MAC OS เดเตบเดฒเตเตป เดเดฎเตเดฒเตเดฑเตเดฑเตผ เดเดจเตเดจเดฟเดเตเดเดจเตเดฏเตเดณเตเดณ เดเดเตเดเดณเตเดเต เดเดจเตเดจเดฟเดฒเดงเดฟเดเด เดธเตเดเดจเตเดฏ เดเตบเดฒเตเตป เดตเตผเดเตเดเตโเดธเตเดฑเตเดฑเตเดทเดจเตเดเดณเดฟเดฒเตเดจเตเดจเต เดเดชเดฏเตเดเดฟเดเตเดเต OnWorks เดธเตเดเดจเตเดฏ เดนเตเดธเตเดฑเตเดฑเดฟเดเดเต เดฆเดพเดคเดพเดตเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเดพเตป เดเดดเดฟเดฏเตเดจเตเดจ abicompat เดเดฎเดพเตปเดกเต เดเดฃเดฟเดคเต.
เดชเดเตเดเดฟเด:
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 เดเตบเดฒเตเดจเดพเดฏเดฟ เดเดชเดฏเตเดเดฟเดเตเดเตเด