쿼리가 서버에 도달 할 때 쿼리를 C++ 코드로 변환하고 공유 객체로 컴파일 한 다음 코드를 실행하는 시스템을 만들 수 있는지 살펴 봅니다.빠른 주문형 C++ 컴파일
컴파일 시간은 그만큼 가치가 있기 때문에 작아야합니다. 내 코드는 해당 C++ 코드를 생성 할 수 있지만 디스크에 쓰고 gcc를 호출하여 .so 파일을 가져온 다음 실행하면 가치가없는 것 같습니다.
공유 대상으로 빨리 컴파일 할 수있는 간단한 코드 조각을 얻을 수있는 방법이 있습니다 (쿼리가 도착하기 전에 상당한 시작 시간을 가질 수 있습니다). 그러한 도구에 허가 된 라이센스가 더있는 경우.
편집 : 보안 위협과 관련이 없도록 사용자가 사용할 수있는 매우 제한적인 쿼리 언어가 있습니다. 내 자신의 코드는 쿼리를 C++ 코드로 변환합니다. clang을 언급하는 답변은 완벽합니다. 당신이 필요로하는 속도 및 예제를 제공해야 JIT 모드에서 연타를 실행
는
"쿼리가 서버에 도달하면 쿼리를 C++ 코드로 변환하고 공유 객체로 컴파일하고 코드를 실행합니다."- 누군가가 한 시간 이내에 서버에서 루트를 얻을 것입니다. –
@ H2CO3 : 입력이 제한되면 생성 된 C++은 가능한 모든 C++ 프로그램의 유한 부분 집합입니다. 합리적인 제약으로, 정지 문제 등을 해결할 수 있습니다. – MSalters
질문이 끝날 때까지 약간 짜증이났습니다. 런타임에 코드를 컴파일하고 빠르게 할 수있는 특정 도구/라이브러리를 요구했습니다. 왜 그런 토론인가! –