4 ms·
The "C Programming Cleverness and Ego Issues" is a good bit of advice: > Build programs that do something cool rather than programs which flex the language's s
by Xophmeister 10y ago
The "C Programming Cleverness and Ego Issues" is a good bit of advice:
> Build programs that do something cool rather than
programs which flex the language's syntax. Syntax -- who cares?
Otherwise, I'd never heard of/seen the `#pragma once` preprocessor directive. (Not that I do that much C programming!) How common is it to use this over include guards?
- exDM69 10y ago> How common is it to use this over include guards? Not very. It works in Microsoft's C compiler but can't be relied on elsewhere.
- Xophmeister 10y agoThen why mention it over include guards, which are not discussed. Is Stanford a Microsoft shop, so to speak?
- exDM69 10y agoThey might have used MSVC for their exercises on this course. They're not using some C99 features such as stdint.h, which were not available in MSVC when this article was written.
- claudius 10y agoIt depends. Clang, GCC and the Intel C++ compiler all support #pragma once perfectly. Personally, I prefer it, as it is only one line rather than three and I don’t have to think of a unique name for the header guard. Supposedly it breaks if you play weird tricks with the filesystem (s.t. the compiler thinks two identical files are actually different), but I have never encountered such breakage.