🛠 프로그래밍 일반/개발 상식 2

API, SDK란?

API(Application Programming Interface)Interface라는 표현대로 어떤 기능이나 서비스를 쉽게 이용할 수 있게 제공(노출)해주는 도구이다.'쉽게 이용한다'는 말은 곧 내부에서, 또는 요청된 서비스를 처리하는 곳에서 무슨 일이 일어나는 지는 몰라도 되도록 해준다는 것. 예를 들어, Win32API는 윈도우즈 OS의 다양한 기능을 쉽게 사용하도록 노출해주는 함수들을 제공하고, 그래픽스 API인 DirectX는 GPU 디바이스를 대신 관리하고 렌더링 작업을 수행해주며, 구글맵 API는 구글 서버와 연결하여 구글 맵을 통해 위치 기반 서비스를 구축할 수 있게 지원해준다. API 중 특히 일반에 무료로 사용할 수 있도록 공개된 것을 Open API라고 부른다.  SDK(Softwa..

기호 파일(Symbol file)이란?

빌드된 코드에 대한 디버깅 정보가 담긴 파일. Visual Studio IDE를 사용하는 경우 .pdb(ProgramDataBase) 확장자로 생성되는 것을 본 적이 있을 것이다.그 안에는 기호(Symbol) 정보라고 부르는 함수의 서명, 변수의 이름 등과 해당 코드가 몇 번째 라인에 있는 지 등의 정보가 담겨있다. (쉽게 생각해서, 소스 코드와 기계어로 번역된 코드를 연결시켜준다고 할 수 있다.)기호 파일이 없으면 IDE에서 디버깅을 할 때 콜스택에 함수 이름이 아닌 주소가 찍힌다거나, 브레이크 포인트를 제대로 걸 수 없다거나 한다고 한다.문제는 내가 작성한 코드는 IDE가 자동으로 기호 파일을 생성해준다지만, DLL 형태로 제공되는 외부 라이브러리의 기호 파일은 생성할 방법이 없다는 것이다.그래서 라..