앞서 예제로 작성했던 코드의 구조를 살펴보도록 하겠습니다.
#include <a_samp> main() { printf("hello, world!"); }
헤더 인클루드
#include <a_samp>
인클루드(include)은 다른 소스코드를 내 프로그램에 삽입하겠다는 의미입니다. 우리가 주로 사용하게 될 기능들은 대부분 다른 사람이 이미 잘 작성해 놓았고 이를 파일로 배포하고 있습니다. 따라서 우리는 다른 사람이 만들어 놓은 소스코드를 최대한 가져다 이용하는 것이 개발 시간을 단축시킬 수 있는 효율적인 방법인 것입니다.
위 코드는 a_samp.inc 라는 파일을 내 코드에 삽입(인클루드)하게 됩니다. 이렇게 하면 a_samp.inc 소스파일 안에 있는 함수, 변수, 매크로 등을 사용할 수 있게 됩니다. 소스파일의 확장명은 .inc 이지만 #include 문법에서는 이를 생략합니다.
a_samp 헤더 안에는 SA-MP를 개발할 수 있는 함수들(SendClientMessage, TextDraw, GangZone 등)과 매크로들(MAX_PLAYERS, MAX_VEHICLES 등)이 담겨져 있습니다. 따라서 모든 SA-MP 모드는 예외 없이 a_samp를 인클루드 하고 있습니다.
메인 함수
main() { }
프로그램(Program)에는 시작점이 존재합니다. 마치 도미노의 첫 번째 블럭을 넘겨야 연쇄적으로 무너지듯이, 프로그램도 시작점이 필요한 것입니다. 이 역할을 하는 것이 메인 함수입니다. 여기서 말하는 '함수' 라는 것의 개념과 사용법에 대해서는 뒤에 있을 함수 챕터에서 배웁니다.
프린트 함수
printf("hello, world");
프린트 함수는 문자열이나 변수 등을 콘솔 창에 출력하는 함수입니다. 자세한 사용법은 출력 챕터에서 배웁니다.