3 ms·
K&R C must surely be too old. It was starting to be old in the early 90s, and I think Linux and GNU where quite progressive in the days. But, hum hum, What is
by kpil 10y ago
K&R C must surely be too old. It was starting to be old in the early 90s, and I think Linux and GNU where quite progressive in the days.
But, hum hum, What is considered non-old-school really modern C? Are there any new non-trivial C programs or systems anymore?
I look at the Linux kernel and some drivers occasionally, and possibly do some changes in some drivers and tools related to DVB and media, but I never look at "new" C code.
- _wmd 10y agoAround the turn of the century people stopped going crazy with macros, globals and exposing struct definitions in header files, at least this is where I draw the line between old and new school
- asmdev 10y agoI expose struck definitions in header files too. What is a better or alternative way to do it?
- sebcat 10y ago> exposing struct definitions in header files Hiding the struct like: typedef struct foo_t foo_t; /* ... */ foo_t *foo_new(); kinda forces heap allocs. There are times when you want to allocate on the stack, and not use alloca. Most of the time, I still keep struct definitions in header files, but API wise I always write functions or macros for anything that touches them and discourage direct access to struct members. Depending on the use case of course. Abstract types have their uses too.