Notice
Recent Posts
Recent Comments
Link
- 참치군
- ?
- stalk.io
- :: 2013년, 스리는 여섯살
- 웹 강좌
- 점프 투 파이썬
- 요니나의 대학생 재테크
- This is CS50
- 애자일 이야기
- isao의 IT,게임번역소
- 소프트웨어 이야기
- Color Scripter
- 어디를 가든지 마음을 다해 가라
- VisuAlgo
- 서울대 평생교육원
- 몽환
- RegExr: Learn, Build, & Test R…
- Hello, Stranger :D
- I Like Exploit
- Z3alous Security Story
- Project Euler
- Blog
- pieces of code
- window 쪼물딱 거리기
- IT - Informatics Alphabet
- rop
- 국제 정보교육센터 I2sec 대구 1기
- This is the moment. :)
- blackmoon
- z3alous는 세상에 소리 z3alous~
- Acord
- FORENSIC-PROOF
- 어셈블리
- Outsider's Dev Story
- Open Tutorials
- 코드라이언
- 컴퓨터 그래픽스와 3D 프린팅
- HACKABILITY
- Lee, Jae-Hong
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- ubuntu
- 염색
- 공간복잡도
- 블루블랙
- BOF
- 시간복잡도
- 레지스터
- 디버깅
- 발표
- 펌
- Calling Convention
- Wireshark
- 동대구
- 창의공학설계
- C언어
- Debug
- 베이스
- 파이썬
- 소켓
- Packet
- 탈색
- Visual Studio
- 알고리즘
- 버퍼오버플로우
- Hello World
- 피보나치
- 오지총
- 추상데이터타입
- 호출규약
- 컴파일러
Archives
- Today
- Total
c0smicb0y
API & ABI 본문
이식성(portability)에 영향을 끼치는 두가지
둘 다 컴퓨터 소프트웨어의 다른 부분들 사이에서의 인터페이스를 정의한다.
API(Application Programming Interface)
API는 소프트웨어가 소스레벨에서 다른 소프트웨어와 communicate하는 한 부분으로서 인터페이스를 정의한다. 주로 함수로서 제공된다.
ABI(Application Binary Interface)
ABI는 특정 아키텍처에서 소프트웨어의 두개 이상의 부분들 사이에서의 바이너리 인터페이스를 정의한다. 어플리케이션이 자기자신과 어떻게 상호작용하는지, 어플리케이션이 커널과 어떻게 상호작용하는지, 어플리케이션이 라이브러리와 어떻게 상호작용하는지 정의한다. Calling Convention을 다룬다. 윈도 xp에서 구동되는 프로그램이 윈도 10에서도 구동되는 이유가 MS에서 ABI를 지원하기 때문이다. API와 달리 명시적으로 제공될 필요가 없어서 어셈블리로 프로그래밍 할려고 하지 않는 이상 신경 쓸 필요가 없다. 특정 언어에 의존적이지 않다. 즉, 다른 언어라도 컴파일 되면 같은 ABI를 쓸 수 있다.
'프로그래밍 > Linux' 카테고리의 다른 글
doxygen 사용법 (9) | 2015.12.19 |
---|---|
Qt5 Install on Ubuntu (0) | 2015.11.18 |
GDB TUI (0) | 2015.11.18 |
Linux Kernel (0) | 2015.10.29 |
Linux File System (0) | 2015.09.07 |
Comments