2013-02-14 2 views
1

우리 대학교에서는 "네비게이션 컨트롤러"에 대한 연구를하고 있습니다.이 중 일부는 보호 된 프로그램을위한 라이브러리 (API?)/플러그인을 만들어야한다는 것입니다.C++로 작성된 보호 된 프로그램의 라이브러리/플러그인/API를 만드는 방법은 무엇입니까?

이 프로그램은 자동차의 "네비게이션 컨트롤러"이므로 자동차가 주행하는 도로의 네비게이션 메쉬를 만들 수 있고 도로상의 주행 및 착륙시기를 계산할 수 있습니다 브레이크를 걸고 회전의 바깥 쪽이나 안쪽을 가져 가야하는지 계산합니다 ...

이제이 탐색 컨트롤러에 API 또는 라이브러리 또는 어댑터 패턴 (?)을 만들어야합니다. 탐색 컨트롤러의 알고리즘은 파일 내부에 숨겨져 있어야하며 오픈 소스가 아닙니다. C++로 작성되었습니다.

Flight Simulator 대신 "Car Simulator"("Flight Simulator"대신)라고 말하면서 "Auto Pilot"에 차를 넣을 수있는 게임의 옵션을 원하고이 Plugin, Navigation Plugin이 필요합니다. ...

프로그래머는 다음과 같은

int CalculateSteeringAxis(Pos currentPosition, Goal currentGoal) 

그는 우리의 코드/알고리즘을 볼 수 없습니다해야, 우리의 플러그인/라이브러리/API를 "포함"우리의 기능을 사용할 수 있어야합니다. 모든 게임에서 플러그인을 "포함 할"수 있어야하므로 플러그인은 독립 실행 형 일반 플러그인입니다.

"어댑터 패턴/래퍼"/ "Win32 API"/ "데코레이터"와 같은 방식을 발견했습니다. 이 문제에 가장 적합한 해결책은 무엇일까요?

답변

1

코드를 동적 라이브러리 (Windows에서는 "dll", Linux에서는 "so"라고 함) 또는 정적 라이브러리로 컴파일 할 수 있습니다.
그런 다음 다른 프로그래머에게 라이브러리를 릴리스하십시오. 게임에 대한 라이브러리를 연결할 수 있습니다.
라이브러리가 바이너리로 컴파일되었으므로 다른 사용자는 소스 코드와 알고리즘을 볼 수 없습니다.