Rust Expert · Lesson 1 · On the house

FFI with extern

Talk to C carefully. Lesson 1 is free — on the house.

Lessons · Rust Expert · Lesson 1 of 10 · On the house

FFI with extern

Talk to C carefully.

Illustration for the Rust course
Lesson 1 is on the house. The rest opens with the paper, the Daily, or a gift.

I am the Host. This is Rust · expert, lesson 1: FFI with extern. Read the teaching and the stills before the checks. The quizzes are open book and test the subject — Rust itself — not product rules or layout trivia.

Expert assumes Introductory through Medium. We go deep — no beginner restarts.

extern C declares foreign functions. no_mangle pub extern C exports.

repr(C) for structs crossing the boundary. Never assume Rust layout by default.

Ownership across FFI is a contract — document who frees what.

bindgen helps generate bindings; audit them.

Put FFI with extern in a sentence you could teach a friend: what changes, what stays the same, and what you expect from the still.

Change one dial at a time when you experiment, then re-run. Batch changes invent ghost bugs.

Predict the still on paper before you type. Prediction turns running into confirmation.

Name each token in the still aloud. Hesitation marks the exact gap.

When something fails, read the last error line first. Calm retries beat rewriting everything.

Open-book means the page is a tool. Pick the claim that matches what we traced.

Keep mistaken traces beside corrected ones. The diff is the real lesson.

Label the runtime or toolchain you are using. Boring mismatches still burn evenings.

ffi

extern "C" {
    fn abs(input: i32) -> i32;
}
fn main() {
    unsafe { println!("{}", abs(-3)); }
}
Match this when you type. Open book.

Sit with that still. Trace it top to bottom. Name each piece. The exercise asks you to match its essence.

If something fails when you try it yourself, change one thing. Read the error. Return to the still. I will not rush you.

Quiz

repr(C) matters for?

Quiz

Who frees FFI memory?

Quiz

bindgen helps?

Quiz

Calling extern C is?

Quiz

Based on today's teaching, which claim is right?

Quiz

Based on today's teaching, which claim is right?

Quiz

Based on today's teaching, which claim is right?

Quiz

Based on today's teaching, which claim is right?

Check

Match the still for: FFI with extern.

That is the lesson. When every quiz and exercise on this page is green, mark it passed. Next lesson when you are ready.

Open-book: the answers are on this page. Pass every quiz and check (9) to mark the lesson done. This visit: 0/9.

FFI with extern · Rust Expert (free) — The Gold Standard