extension descriptions

클라이언트-서버 아키텍처

Header Files (헤더 파일):

Header 파일은 개발자가 함수, 클래스 및 구조체를 정의하는 데 사용하는 파일입니다. 일반적으로 헤더 파일에는 함수 선언, 데이터 구조 정의 및 상수가 포함됩니다. 헤더 파일은 컴파일러에게 코드의 구조 및 인터페이스를 알려주는 역할을 합니다. 개발자가 함수를 호출하고 데이터 구조를 사용할 때 컴파일러는 해당 헤더 파일을 참조하여 코드를 올바르게 컴파일할 수 있습니다. 개발자는 헤더 파일을 포함하여 코드에 필요한 함수 및 데이터 구조를 정의합니다.

Library Directory (라이브러리 디렉토리):

라이브러리 디렉토리는 컴파일러 및 링커가 라이브러리 파일을 찾을 수 있는 위치입니다. 라이브러리 파일은 실행 중에 프로그램에 필요한 기능 및 모듈을 제공하는 바이너리 파일입니다. 컴파일러는 헤더 파일을 통해 함수 및 데이터 구조의 선언을 알고 있지만, 라이브러리 파일은 이러한 함수 및 데이터 구조의 구현을 포함합니다. 라이브러리 디렉토리에 라이브러리 파일이 포함되어 있으면 링커가 컴파일된 프로그램과 라이브러리 파일을 결합하여 실행 가능한 프로그램을 생성합니다.

DLL은 “동적 연결 라이브러리”의 약자로, 실행 중에 프로그램에 로드되는 라이브러리입니다. DLL은 여러 프로그램에서 공유되고 재사용할 수 있는 함수 및 데이터를 제공하는 데 사용됩니다. 런타임 시에 프로그램이 필요한 DLL 파일을 로드하여 해당 DLL 파일에 포함된 함수 및 데이터를 사용할 수 있습니다. 라이브러리 디렉토리에 있는 DLL 파일을 실행 파일과 함께 제공하면 프로그램이 실행될 때 해당 DLL 파일을 로드하여 사용합니다.

요약하면, 헤더 파일은 함수 및 데이터 구조의 선언을 제공하고, 라이브러리 디렉토리는 라이브러리 파일을 포함하고, DLL은 라이브러리의 구현을 동적으로 로드하여 프로그램에서 사용합니다. 헤더 파일과 라이브러리 디렉토리는 컴파일 시간에 사용되며, DLL은 런타임 시간에 사용됩니다.

소스

컴파일러

vsvc

  • .c, .cpp

gcc

  • .c

gpp

  • .cpp

nvcc

  • .c, .cpp, .cu

빌드

.exe: 실행파일

  • window

.obj: 오브젝트

.so: shared object

  • python에서 ctypes로 불러와서 쓸 수 있다
  • linux

.dll: 동적라이브러리

  • python에서 ctypes로 불러와서 쓸 수 있다
  • window

.lib:

pdb: program data base