저는 장난감 프로그램에서 테스트 한 바 있습니다. 이제는 대형 프로그램에서 실행하고 싶습니다. 많은 프로그램은 memcached와 같은 오픈 소스 프로그램입니다. 이러한 프로그램에는 자체 Makefile과 복잡한 컴파일 절차가 있습니다. 이러한 프로그램에 대한 비트 코드 파일을 생성하여 내 패스를 처리하려고합니다. 도움과 제안을 부탁드립니다!많은 소스 코드 파일과 거대한 Makefile (예 : memcached)이있는 대형 프로그램 용 llvm 비트 코드를 생성하는 방법은 무엇입니까?
0
A
답변
1
당신이 수하고있다 :
0
clim 플래그에 -emit-llvm을 추가하면 어셈블리 대신 개체 파일이나 LL 파일 대신 BC 파일이 방출됩니다.
올바른 방향으로 시작해야하는 경우 makefile을 조금 더 수정해야 할 것입니다. 당신이 통과하는지에 따라
+0
답장을 보내 주셔서 감사합니다. 그래서 내가 그 프로그램의 기존 Makefile을 수정하고 bcc 플래그로 gcc를 clang으로 수동으로 대체해야한다고 생각한다. 기존 도구가 있습니까? –
관련 문제
- 1. Eclipse에서 LLVM 소스 코드를 작성하는 방법은 무엇입니까?
- 2. 내 프로그램 소스 코드를 암호화하는 방법은 무엇입니까?
- 3. LLVM 2.8에서 LLVM 비트 코드 함수 호출
- 4. LLVM : 윈도우 용 llvm-gcc (mingw)가있는 비트 코드
- 5. dragonegg에서 비트 코드를 생성하는 방법
- 6. 추적 대형 소스 코드
- 7. C++ 프로그램 용 Makefile 작성
- 8. jwplayer에 iframe 소스 코드를 생성하는 방법은 무엇입니까?
- 9. 소스 코드 이름을 생성하는 방법은 무엇입니까?
- 10. LLVM 비트 코드 라이브러리 생성 및 사용
- 11. LLVM 원시 코드 생성
- 12. LLVM 3.3으로 비트 코드 파일을 실행하는 방법은 무엇입니까?
- 13. 대형 C++ 프로젝트 용 Makefile 템플릿?
- 14. STM32 응용 프로그램 용 MakeFile 이해
- 15. LLVM 비트 코드 파일에 대한 전체 프로그램 최적화를 수행하는 방법
- 16. C/C++ 거대한 헤더/소스
- 17. L0 프로그램 용 WAM 코드를 생성하는 올바른 순서는 무엇입니까?
- 18. 추가 라이브러리가있는 오픈 소스 응용 프로그램 용 올바른 makefile
- 19. 간단한 C 프로그램 용 Makefile
- 20. 다른 디렉토리에 소스 파일과 오브젝트 파일이있는 자동 makefile
- 21. GCC makefile 스크립트를 LLVM 3.0 컴파일러로 변환하십시오.
- 22. numpy 확장자를 사용하는 C 프로그램 용 Makefile
- 23. C++ 용 "makefile"을 만드는 방법은 무엇입니까?
- 24. 파이썬 코드를 생성하는 코드 생성기를 설계하는 방법
- 25. 비트 버킷 용 오픈 소스 Eclipse 플러그인
- 26. 많은 비트 맵을 생성하는 동안 메모리 문제를 방지하는 방법은 무엇입니까?
- 27. 거대한 비트 맵 처리
- 28. javadoc에 코드 샘플을 생성하는 방법은 무엇입니까?
- 29. 블로그 용 소스 코드
- 30. 대형 Makefile 프로젝트의 모든 종속성을 수집하는 방법은 무엇입니까?
고마워요 조키! 그래서이 세 가지 옵션 중 하나를 수행해야합니까? 처음 2 가지 옵션에 대한 기존 예제가 있습니까? –
그렇게 생각하지는 않지만 옵션 2는 설치하기 어렵지 않습니다. 패스가있는 경우 PassManagerBuilder.cpp의 올바른 위치에 추가하고 clang을 빌드하십시오. – Joky
그래서 내가 한 것은 Makefile을 편집하고 gcc/g ++를 대체 할 clang과 관련 플래그를 넣는 것입니다. 따라서 코드에서 패스가 작동합니다. 내 패스는 함수 호출을 추가하여 프로그램을 호출하고 그 함수는 다른 .c 파일에 있습니다. 하지만 clang에서 정의되지 않은 참조 오류가 발생합니다. 이 문제는 여기에 게시했습니다 : http://stackoverflow.com/questions/41650417/clang-linking-error-undefined-reference-to-function-calls-added-by-llvm-pass 보세요. 정말 고맙습니다! –