言語: English | 简体中文 | 繁體中文 | 日本語 | 한국어 | Français | Deutsch | Español | Italiano | Русский | العربية
NeverC をソースからビルドし、ローカル開発環境をセットアップするガイドです。
- CMake 3.20+
- Ninja
- C++17 ホストコンパイラ(GCC、Clang、または MSVC)
cmake -S llvm -B build-neverc -G Ninja -C neverc/cmake/caches/NeverC.cmake
cmake --build build-neverc --target nevercccache / sccache が検出されると自動的に有効化されます。
--target neverc は日常の stage-1 ビルド(埋め込み runtime は空のプレースホルダ)
で、ほとんどのローカルコンパイル/デバッグに十分です。バイナリ自体に
string / mimalloc / std / NVK runtime を埋め込む場合(または CI 相当の
コンパイラが必要な場合)は、stage-2 の傘ターゲットを実行します:
cmake --build build-neverc --target neverc-embed-runtime-bitcode二段階ブートストラップの詳細は Builtins を参照してください。
cmake -S llvm -B build-neverc -G Ninja -C neverc/cmake/caches/NeverC.cmake -DNEVERC_INCLUDE_TESTS=ON
cmake --build build-neverc --target check-neverccheck-neverc は neverc-embed-runtime-bitcode に依存するため、初回のテスト実行前に
自動でブートストラップとコンパイラの再リンクが行われます。embed ターゲットを
手で実行する必要はありません。
ビルド後、neverc バイナリは build-neverc/bin/neverc にあります。ヘルパースクリプトを使って PATH に追加すれば、毎回フルパスを入力する必要がなくなります:
source ./utils/build/neverc-env.shこれで neverc を直接実行できます:
neverc --version
neverc -c hello.c -o hello.oローカルビルドを PATH から外す場合は、同じシェルセッションで以下を実行します:
source ./utils/build/neverc-env.sh --remove # または -rsource 行をシェルの rc ファイル(~/.zshrc、~/.bashrc、または ~/.profile)に自動追記します:
source ./utils/build/neverc-env.sh --install取り消し:
source ./utils/build/neverc-env.sh --uninstallrelease(デフォルト: ~/.neverc)とソースツリー内のビルドの両方がある場合、neverc-env.sh で現在のシェル内のアクティブな neverc を切り替えられます。どちらのインストールも上書きされません:
source ./utils/build/neverc-env.sh # ローカル開発版(build-neverc/bin)
source ./utils/build/neverc-env.sh --local # 同上
source ./utils/build/neverc-env.sh --release # リリース版(~/.neverc/bin)
source ./utils/build/neverc-env.sh --status # 使用中の neverc を表示
source ./utils/build/neverc-env.sh --remove # 両方を PATH から削除切り替え後、NEVERC_ENV が local または release に設定されます:
echo "$NEVERC_ENV"
neverc --version
which nevercrelease を別の prefix にインストールした場合は、install.sh と同じディレクトリを指定します:
NEVERC_INSTALL_DIR=$HOME/.neverc-v3389.1.2 source ./utils/build/neverc-env.sh --release任意:シェル設定にエイリアスを追加(パスをリポジトリの絶対パスに置き換え):
alias neverc-dev='source /path/to/NeverC/utils/build/neverc-env.sh --local'
alias neverc-rel='source /path/to/NeverC/utils/build/neverc-env.sh --release'Windows では .bat スクリプトを使用します(管理者権限不要):
utils\build\neverc-env.bat &REM PATH に追加(現在のセッション)
utils\build\neverc-env.bat --remove &REM PATH から削除(現在のセッション)
utils\build\neverc-env.bat --global &REM setx でユーザー PATH に永続化
utils\build\neverc-env.bat --global -r &REM setx でユーザー PATH から削除Unix スクリプトとは異なり、source は不要です — .bat は現在の cmd セッションを直接変更します。--global は setx を使用してユーザーレベルのレジストリに書き込みます(管理者権限不要)。
リリースは Apple Developer ID 証明書で署名され、Apple による公証済みです。アーカイブを展開してそのまま使用できます。
NeverC は runtime/ に各プラットフォーム SDK(Windows SDK/WDK、Linux sysroot、macOS sysroot、Android NDK)を同梱しており、外部 SDK の設定は不要です。
neverc --target=x86_64-pc-windows-msvc \
-fbuiltin-string -o hello.exe hello.c -lkernel32Windows dyncode(-fdyncode、PEB インポート解決など)については dyncode コンパイラドキュメントを参照してください。
neverc --version
echo 'int main(void) { return 0; }' > /tmp/hello.c
neverc -c /tmp/hello.c -o /tmp/hello.o