1.3.2 DRCF 버전 호환성
DRFL 헤더는 C++11 이상이 필요하며 C로 컴파일할 수 없습니다. C에서 DRFL을 사용하려면 extern "C" 함수로 작은 C++ 래퍼를 작성하세요. 밑줄로 시작하는 함수는 핸들을 인수로 받습니다. TCP 함수는 _CreateRobotControl로 만든 핸들(_DestroyRobotControl로 해제)을, RT 함수는 _create_robot_control_udp로 만든 핸들(_destroy_robot_control_udp로 해제)을 사용합니다. CDRFLEx는 두 핸들을 모두 생성합니다.
일부 함수는 컨트롤러 버전에 따라 인터페이스 사용법이 다릅니다. 컨트롤러 버전에 맞게 DRCF_VERSION을 2 또는 3으로 설정하세요. DRCF_VERSION은 DRFL 헤더를 포함하는 모든 소스 파일에서 같은 값이어야 합니다. 개별 파일에서 #define으로 정의하지 말고, 프로젝트 전체에 컴파일러 정의로 한 번만 설정하세요(예: -DDRCF_VERSION=2 또는 target_compile_definitions(<target> PRIVATE DRCF_VERSION=2)). DRCF_VERSION을 정의하지 않으면 DRFLEx.h는 3을 사용합니다.
C++에서 DRFLEx를 포함하고 초기화하는 예
1// DRCF_VERSION은 컴파일러 정의로 설정합니다(예: -DDRCF_VERSION=3)
2#include "../../include/DRFLEx.h"
3#include "util.hpp"
4
5const std::string IP_ADDRESS = "192.168.137.100";
6
7using namespace DRAFramework;
8CDRFLEx robot;
9
10bool g_bHasControlAuthority = FALSE;
11bool g_TpInitailizingComplted = FALSE;
12bool control_authority_granted = FALSE;