C 프로그래밍 언어 1978
"C는 표현의 경제, 현대 제어 흐름 및 데이터 구조 및 풍부한 운영자 세트를 특징으로하는 일반적인 목적 프로그래밍 언어입니다. C는"매우 높은 수준 "언어가 아니며"큰 "언어가 아니며 특정 응용 분야에 특화되어 있지 않지만 제한이없고 일반적인 것이 더 강력한 언어보다 더 편리하고 효과적입니다."
"우리의 경험에 따르면, C는 다양한 프로그램을 위해 즐겁고 표현력이 풍부하며 다재다능한 언어로 입증되었습니다. 배우기 쉽고, 성장하는 경험만큼 잘 마모됩니다."
C 프로그래밍 언어 제 2 판 1988
"우리가 첫 번째 판의 서문에서 말했듯이, C는"그 경험에 대한 경험이 커지는 것처럼 잘 입었다. "10 년이 더 많은 경험을 통해 우리는 여전히 그렇게 느낀다."
Cake는 C23 언어 사양 및 그 너머에 준수하는 C로 처음부터 작성된 컴파일러 프론트 엔드입니다. C2Y 언어 제안, 안전 향상 및 Lambda 표현 및 연기 성명과 같은 확장을 포함한 새로운 기능을 실험하기위한 플랫폼 역할을합니다.
현재 백엔드는 C89 호환 코드를 생성하며 기존 컴파일러와 파이프 라인을 만들어 실행 파일을 생성 할 수 있습니다.
Cake는 객체 수명 검사를 포함하여 고품질 경고 메시지 및 고급 흐름 분석을 제공하여 C의 안전을 향상시키는 것을 목표로합니다.
이것이 가장 좋은 방법입니다.
http://thradams.com/cake/playground.html
참고 : 케이크는 여전히 개발 중이며 아직 안정적인 버전에 도달하지 못했습니다.
케이크는 다른 컴파일러와 함께 정적 분석기로 사용할 수 있습니다. Visual Studio 및 Visual Studio Code와 같은 인기있는 IDE에 의해 인식되는 SARIF 파일을 생성하여 원활한 통합을 제공합니다.
또한 C23 코드를 C89로 변환하여 전처리기로 기능 할 수 있습니다. 이를 통해 개발자는 최신 언어 표준을 아직 지원하지 않는 컴파일러를 타겟팅하면서 최신 기능을 사용할 수 있습니다.
이전 버전의 케이크에는 전처리 부품을 보존하는 동안 코드를 변환하기위한 변환 모드가 포함되었습니다. 유용하지만이 프로세스는 100% 변환을 보장 할 수 없으며 컴파일러보다 도구로 더 많이 작동합니다. 새로운 버전의 케이크가보다 전통적인 컴파일러가되기 위해 이동함에 따라 이전 모드는 버전 0.9.36에서 중단되었습니다. 이 버전은 여기에서 온라인으로 http://thradams.com/cake3/playground.html입니다.
github https://github.com/thradams/cake
Visual Studio의 개발자 명령 프롬프트를 엽니 다. SRC 디렉토리로 이동하여 타이핑하십시오
cl build.c && build
이것은 Cake.exe를 만들고 자체 소스 코드에서 케이크를 실행합니다.
SRC 디렉토리에 도달하여 다음을 입력합니다.
gcc build.c -o build && ./build
SRC 디렉토리에 도달하여 다음을 입력합니다.
clang build.c -o build && ./build
단위 테스트를 실행하려면 Windows/Linux 추가 -DTEST ADD : 예를 들어
gcc -DTEST build.c -o build && ./build
emscripten https://emscripten.org/가 필요합니다.
먼저 일반 빌드를 수행하십시오.
일반 빌드는 또한 "Core Lib"의 합병 버전 인 Lib.c 파일을 생성합니다.
그런 다음 ./src dir 유형에서 :
call emcc -DMOCKFILES "lib.c" -o "Webcake.js" -s WASM=0 -s EXPORTED_FUNCTIONS="['_CompileText']" -s EXTRA_EXPORTED_RUNTIME_METHODS="['ccall', 'cwrap']"
이것은 src web cake.js를 생성합니다
케이크가 시스템 경로에 있는지 확인하십시오.
샘플
cake source.c
이것은 ./out/source.c 를 출력합니다
매뉴얼을 참조하십시오
우리는 어떻게 여기에 도착 했습니까?
문서 폴더에 포함 된 각 C 표준 초안의 사본.
Al Williams가 아주 좋은 소개를 작성했습니다
C23 모든 사람을위한 프로그래밍
https://hackaday.com/2022/09/13/c23-programming-for-everyone/
케이크를 시험 해보고, 버그를보고하고, 피드백을 제공함으로써 기여할 수 있습니다.
C에 대한 제안이 있습니까?
Discord Server
https://discord.gg/yrekr2n65s
Cake 소스를 작성/디버그하기 위해 Visual Studio 2022 IDE를 사용하고 있습니다. Cake는 MSVC의 포함을 사용하여 자체적으로 구문 분석되며 빌드 후 Out Dir를 생성합니다.
Linux 코드를 테스트하고 컴파일하기 위해 WSL과 함께 Visual Studio Code를 사용합니다.
케이크 소스 코드는 확장자를 사용하지 않으므로 출력이 입력과 동일합니다. 이 컴파일은 장치 테스트와 함께 오류를 추적하는 데 유용합니다.
Cfront는 C ++ 코드를 C로 변환하도록 설계된 원래 C ++ 컴파일러였습니다.
CFRONT는 처음에 C89와 호환되었지만 결국 C의 진화에서 분기되었습니다.
대조적으로, 케이크는 C의 핵심 개발에 충실하여 완전한 호환성을 보장합니다.
확장자는 C의 본질을 보존하는 동시에 개발자가 C로 작성된 오픈 소스 컴파일러를 사용하여 C의 진화에 기여할 수 있도록하는 동시에 C의 본질을 보존하는 것을 목표로합니다.