I like C++, but sometimes it appears to work with the aid of magic which I don’t fully understand. Last time (was it really 3 weeks ago?) I mentioned a problem I had with compiling the software I have been offering to subscribers to this blog with the GNU compiler. Or, to put it more honestly, I created a problem which g++ legitimately complained about, but which the other two compilers I tried (VC++ and IAR) allowed me to get away with. I am simplifying somewhat but basically I coded something like this: Read more…
The free software you may have downloaded from this site embodies an error of principle (details another time). It compiles with VC++ and IAR (ARM), and the code is correct and runs properly. However, I tried g++ today and it was less forgiving. Unfortunately, it’s right and I’m wrong, even though I got away with it up to now. I’m working on a fix and will post again when I have finished it.
The C++ dynamic memory software I published last week has been updated with a small but useful enhancement.
Find out more by downloading it: start by going to the Subscribers’ page.
For the last couple of months, my software efforts have been diluted by the need to attend to other matters no less important but somewhat distracting. Now I have finally released some software. It is not the whole of SKC++, though. I learned so many things, at a detailed level (mainly about C++), in developing SKC++ that I realised that I had built “one to throw away”, as the saying goes. The refactoring is well underway and I have decided initially to release some of the essential elements of SKC++ in stages, as library modules which can be used more generally Read more…
You can now register automatically as a Subscriber to this blog. Just go to the “Subscribers” page and follow the instructions there.
The previous posting tells you why you might want to subscribe.
It is now possible to subscribe to this blog. Subscribers (only) will be able to download various pieces of software which I will begin soon to make available. Subscribers will also be able to see any private blog entries I might make, which will be invisible to casual visitors. Read more…
Hypothesis: SKC++ doesn’t need semaphores. If you disagree with this, please comment, with supporting arguments. In the meantime, I’ll present a few arguments of my own, Read more…
When it comes to interrupts, SKC++’s guiding principle is “minimum interference”.
Some kernels require that interrupts be processed internally, the internal Interrupt Service Routine (ISR) calling out to an ordinary user function, sometimes also called an ISR, confusingly. Some others let you code the ISR yourself but impose restrictions on how you do it.
SKC++ does not require you to alter the way you program ISRs; Read more…
Just a short article today as SKC++’s mutual exclusion facilities follow a familiar pattern Read more…
Although I separated the ideas of posting an untrammelled event, using post, and sending a message (which also posts an event), using send, this is not such a good idea for receiving messages. One of the key things about an SKC++ task is that it should be able to wait at a single point in its processing in order to get something to process and that it should deal with only one event or message at a time. Accordingly, the wait function has been enhanced to deal with message reception, as well as with raw events. Read more…