R언어와 DLL 사이에서 string 주고 받기
By 신준철의 프로그래밍 | 2020년 6월 30일 |
윈도우에서 R을 사용하는데, 개인이 만든 c++라이브러리를 DLL의 형태로 사용하면서 스트링 텍스트를 주고 받기 위한 기술이다.리눅스면 동적라이브러리가 so형태가 되겠다. R.h를 받아야 하는데 기억이 안난다. 대충 구글링 해서 받고 설정하자.내 vs프로젝트 셋팅을 보니 vc++ 디렉터리에 C:\Program Files\R\R-4.0.0\include 가 추가되어 있다. 중요한 것은 char** 을 사용한다는 것이다. char* 아니고 char은 당연히 아니다. (이거 때문에 시간 많이 보냄)함수명이 aa라면void aa(char **in, char **out); 이렇게 정의해야 한다. 리턴은 void만 되는 것으로 안다.선언 좌측으로 __declspec(dllexport) 가 붙여야할 지는 알아서 하