Better than forking — especially grandchild forking — is to use threads. These program chunks are more manageable than forking and they don’t recreate the entire program (process). Still, threads aren’t without their quirks. Further, they’re available only to the POSIX standard. Sorry, Windows.
Continue reading
Category Archives: Lesson
Forking the Grandchildren
I wrote about forking a while back, in June 2015. The fork splits a program into two processes, each capable of handling different tasks simultaneously. The power behind this trick is the fork() function.
Continue reading
From Decimal Value to a String
The challenge for this month’s Exercise is to split a decimal value into its integer and fractional portions. But what if you need the fractional portion as a string?
Continue reading
Conditional Expressions Used as Values
It was weird when I first saw it: A conditional expression used to determine a value. It sounds odd, but it works.
Continue reading
Outputting an Unterminated Buffer
Properly formed strings in C are terminated with the null character, \0. Accept it or die!
However . . .
Continue reading
Desperately Freeing Allocated Memory
The critical issue about allocating and then freeing memory is to avoid a memory leak. This condition happens when a memory chunk gets lost, leaving the it lingering in RAM not doing anyone any good. Most often a memory leak occurs in a function.
Continue reading
Freeing Allocated Memory
One criticism I receive is that my code examples, from both my online training material as well as in my C programming books, fail to free any allocated memory before the program quits. This assertion is correct, and I have a darn good reason why!
Continue reading
Color Text, Part II
From last week’s Lesson, I showed how ANSI codes are used to set color text in terminal output. It’s time to go nuts showing the possibilities.
Continue reading
Color Text, Part I
Your C programs’ text output need not be so dull. Aside from adding wide characters, you can spice things up with color text. The terminal flavor is what determines the color palette. All you need to know are the secret codes that activate and deactivate the attributes.
Continue reading
Accessing the Printer in C
Back in the old days, the printer was a device wired to the computer and handled directly by whatever program wanted to use it. Printing in C involved opening the printer device and sending the data. Today, things work differently.
Continue reading