cxgo
v0.4.1
CxGo는 C 소스 코드를 Go로 변환하기 위한 도구(일명 트랜스파일러, 소스-소스 컴파일러)입니다.
C(clang/gcc 종속성 없음!) 전처리 및 구문 분석을 위해 cc v3와 사용자 정의 유형 검사기 및 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)asm
case
(#9)goto
(해결 방법이 있지만 #10 참조)setjmp
(컴파일되지만 런타임에 패닉이 발생함)#ifdef
경로 고려 우리 커뮤니티에 가입하세요! 우리는 당신의 답장을 듣고 싶습니다!
기여를 참조하세요.
MIT