0Pricing
Mojo Academy · Leçon

Compilation conditionnelle

Choisissez les chemins de code à la compilation.

Compilation conditionnelle est une leçon Mojo Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Mojo Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Mojo Academy comprend 4 leçons au total.

Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.

Choosing Code at Compile Time

Conditional compilation picks which code path to build based on compile-time values, so the unused branch never reaches the final program. ⚙️

The @parameter if Statement

Add @parameter to an if whose condition is known at compile time, and Mojo keeps only the branch that matches.

@parameter
if width == 1:
    scalar_path()
else:
    vector_path()

The Condition Must Be Static

The test has to use parameters or aliases, values the compiler already knows, not data that only appears while the program runs.

alias DEBUG = False

@parameter
if DEBUG:
    print("tracing")

Dead Branches Disappear

The branch that fails the condition is simply not compiled, so it adds no size and costs nothing at runtime.

Specialize by Type

Use it to switch logic based on a type parameter, choosing the best implementation for floats versus integers, for example.

@parameter
if T.is_floating_point():
    use_fma()
else:
    use_int_mul()

Branch on Hardware Facts

Pair conditional compilation with platform checks to emit the right kernel for the CPU or accelerator you are targeting.

Feature Flags Without Cost

Gate optional features behind an alias flag; when it is False the whole feature compiles away, leaving a lean binary.

Different From a Runtime if

A normal if always keeps both branches in the binary and tests at runtime; @parameter if decides once, at build time, and drops the rest.

Combine With Other Metaprogramming

Conditional compilation mixes well with parameterized functions and unrolled loops, letting each specialization take its own optimal path.

One Source, Many Targets

From a single definition you generate tailored builds for each platform or type, with no runtime branching tax to pay. 🚀

Keep Both Paths Valid

Each branch must still compile on its own when chosen, so write every path to be correct for the parameter values that select it.

Quick Check

Compare @parameter if with a normal if.

Recap

@parameter if chooses code paths at compile time: dead branches vanish, you specialize by type or platform, and the binary stays lean. 🎯

Questions Fréquemment Posées

La leçon « Compilation conditionnelle » est-elle gratuite ?

Oui — le texte complet de « Compilation conditionnelle » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Mojo Academy, passe à CoddyKit PRO. Le cours Mojo Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Compilation conditionnelle » ?

Choisissez les chemins de code à la compilation. Tu pratiques Mojo Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Mojo Academy ?

Aucune expérience préalable n'est requise. Mojo Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.

Combien de temps prend la leçon « Compilation conditionnelle » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Mojo Academy ?

Oui. Chaque leçon Mojo Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Algorithmes paramétriques
  2. Déroulage des boucles à la compilation
  3. Compilation conditionnelle
  4. Contraintes et vérifications statiques
← Retour à Mojo Academy