LLVM lli
도구를 정적 라이브러리 (main()
에서 lli()
으로 바꾸고 libLLi.a에서 내 보냅니다)로 사용하고 싶습니다. 풍부한 UI를 만들 수 있습니다. 표준 입력을 가로 채기 위해 어떻게 수정 (또는 수정없이 사용) 할 수 있습니까?LLVM 도구 입력을 차단하는 방법은 무엇입니까?
LLVM 어셈블리 파일 (clang -S -emit-llvm .. -o output.ll
사용)을 생성하는 방법과 lli
도구 (lli output.ll
)를 사용하여 실행하는 방법을 알고 있다고 가정합니다.
일반적인 사용 사례 : cin.getline
호출 할 때
#include <iostream>
using namespace std;
int main() {
char name[128];
cout << "type your name: ";
cin.getline(name, sizeof(name));
cout << "hi, " << name << endl;
return 0;
}
내가 그것을 위해 LLVM 어셈블리를 해석하고에서 InputBox를 표시해야하고 쇼 텍스트 상자 cout <<
을 : 간단한 응용 프로그램의
소스 코드는 LLI 해석 할 (InputBox 및 TextBox는 풍부한 UI 컨트롤입니다.)
추신. 프로세스를 포크 할 수없고 전체 자식 프로세스의 stdin/stdout을 전달할 수 없습니다.
소리가 유망합니다. 'ostream :: operator <<'inheritor?를 작성하는 방법에 대한 제안/예제/링크. – 4ntoine