cxgo
v0.4.1
CxGo는 C 소스 코드를 Go로 변환하기 위한 도구(일명 트랜스파일러, 소스-소스 컴파일러)입니다.
C를 전처리하고 구문 분석하는 데 cc v3(clang/gcc 종속성 없음!)와 사용자 정의 유형 검사기 및 AST 변환 레이어를 사용하여 최상의 출력을 만듭니다.
유일한 요구사항은 C 코드가 헤더를 포함하여 cxgo 로 컴파일되어야 한다는 것입니다.
하지만 cxgo 이 프로세스를 더 쉽게 만들기 위해 몇 가지 트릭을 사용합니다.
프로젝트 목표에 대한 간략한 설명:
프로젝트에 대한 더 일반적인 질문은 FAQ를 확인하세요.
이 프로젝트는 실험적 입니다! 프로덕션 및 기타 민감한 환경에서는 이에 의존하지 마십시오!
여러 프로젝트에서 성공적으로 테스트되었지만 아직 알려지지 않은 버그로 인해 코드 동작이 변경 될 수 있습니다.
컴파일러 테스트 결과:
변환된 프로젝트:
go install github.com/gotranspile/cxgo/cmd/cxgo@latest또는 Github에서 최신 릴리스를 다운로드하세요.
시도해 보는 가장 빠른 방법은 다음과 같습니다.
cxgo file main.c자세한 내용은 예제 섹션을 확인하세요.
기본 사용 패턴은 물론 고급 사용 패턴(실제 프로젝트의 경우)까지 안내합니다.
문제가 있는 경우 FAQ를 확인하실 수도 있습니다.
다음 C 기능은 현재 cxgo 에서 허용되지만 부분적으로 구현되거나 전혀 구현되지 않을 수 있습니다.
static (#4)auto (#5)union (#7)packed 구조체(#8)asmcase (#9)goto (해결 방법이 있지만 #10 참조)setjmp (컴파일되지만 런타임에 패닉이 발생함)#ifdef 경로 고려 우리 커뮤니티에 가입하세요! 우리는 당신의 답장을 듣고 싶습니다!
기여를 참조하세요.
MIT