두 개의 문자열로 된 매우 간단한 루아 함수를 호출하고자하는 C 프로그램이 있다고 가정 해 보겠습니다. 두 개의 쉼표로 구분 된 목록을 말하며, 목록이 전혀 교차하지 않으면 true를 반환하고, 그렇지 않으면 false를 반환합니다.루아에서 문자열 복사 피하기
확실한 방법은 lua_pushstring으로 스택에 푸시하는 것입니다. 그러나 문서에서 lua_pushstring처럼 보이지만 루아의 문자열 복사본을 사용합니다.
즉, Lua 함수로 건너 뛰려면 C에서 Lua 함수를 다시 작성하여 피할 수있는 두 개의 문자열 복사본이 필요합니다. 기존 C 문자열을 다시 사용할 수 있도록 배치하는 방법이 있습니까? 성능을 위해 루아 측 (또는 strcpy 비용 창백함은 어쨌든 중요하지 않음)?
지금까지 (루아를 진지하게 바라 보는 처음 몇 시간) 나의 조사에서, lite userdata은 내가 원하는 것처럼 보이지만 문자열의 형태로 보인다.