top | item 39673823

(no title)

dc-programmer | 2 years ago

What do lines 7-21 do?

discuss

order

rkaehn|2 years ago

The library is an "stb-style" header-only library, so the header has two modes: when you define CR_TASK_IMPL, it includes the implementation (starting from line 20), otherwise it just includes declarations (the first 19 lines). The implementation should only be included in one translation unit, but the declarations can be included in multiple units.

dc-programmer|2 years ago

Ah, sorry I meant in test.c. I was nodding off when I wrote that comment

salamander014|2 years ago

Historically, C compilers attempted to build the list of all symbols in one pass of the files.

Sometimes, functions may call other functions in the same code file.

This required that functions be declared before they are referenced so C knew it existed.

You can also see this on lines 84-92.