Ein Angebot von

Thema: Software-Tipp: Weitere Programmiertechniken zu C++ mit einem RTOS

erstellt am: 20.03.2018 23:01

Antworten: 2

Diskussion zum Artikel


Software-Tipp: Weitere Programmiertechniken zu C++ mit einem RTOS


Im letzten C++ Tipp haben wir eine interessante Technik für Embedded-Anwendungen geschildert, die einen Embedded-Block mit einem lokalen Objekt verwendete, in dem der zugehörige Konstruktor und Destruktor auf neuartige Weise eingesetzt wurde. Dies kann sich aber auch drastisch auf das Verhalten eines Echtzeitsystems auswirken. Hier einige nähere Details.

zum Artikel


bearbeiten

Antworten

nicht registrierter User


Kommentar zu: Software-Tipp: Weitere Programmiertechniken zu C++ mit einem RTOS
20.03.2018 23:01

Welche Ressource soll denn bei diesem Beispiel durch die Semaphore vor konkurrierendem Zugriff geschützt werden? Die Konsole kann es ja wohl nicht sein. Ich finde diese Beispiel irreführend, solange die Klasse den Zugriff auf die zu schützende Ressource nicht kapselt. Mich hindert doch niemand printf irgendwo im code aufzurufen. Das einzigste was gegrabt wurde, ist die interne, statische Semaphore. Solange das Objekt now am Leben bleibt, wird jede neue Instanz von Grab_Console in einem anderem Kontext zu einem deadlock führen. Hier fehlt die Freigabe des Objektes now nach dem Aufruf von printf und der damit einhergehende Aufruf des Destrucktors, der die S3maphore wieder freigibt.


bearbeiten

Antworten

nicht registrierter User


RE: Software-Tipp: Weitere Programmiertechniken zu C++ mit einem RTOS
26.03.2018 13:09

I am not totally sure that I understand your question. In the example code:
{
Grab_Console now;

printf(Hello World!\n);
}
The destructor for the object now is called when the block is exited [after the printf()].


bearbeiten

Antworten

Antwort schreiben

Titel:


Nachricht:

 




Thema abonnieren:

Email:
*Ich bin mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung und AGB einverstanden.
Antwort abschicken