If you work in the field of embedded system and have certain knowledge in c/c++ language, toolchain, operating system, hardware, and middleware application development, this talk is more than awesome. Very appreciated!
16:58 std::variant provides exactly opposite to why embedded programmers use union. (ex. register access with bit fields) Instead of forcing to use existing C++ features for embedded system, why C++ can't come up some embedded friendly features?
19:31, do you mean a variable size compiler-time array (not a vector)? Not an allocated memory, but a fully handled by the compiler 1? 25:25, to me, the most frequent issue in project come from its details. For C++ specifically, type misinterpretation is the 1. 46:19, no, this is precisely what we want. ',' could be confused with other countries notation. 47:10, I guess you forgot to write the 'class' after enum, on the right side. 48:15, ')' replacing '}'.
For your first question, He's talking about VLAs in C. This was a feature C had (it was added in C99, but made optional (effectively removed) in C11) that allowed for dynamically-sized arrays that lived on the stack,
There are actually quite a few things missing in C++ to be used in (smallish) embedded, in particular in the sdt because of the allocations. C++ needs to have ~two more standard allocators to be practically useful, both of which to use static memory - one will be fast and allocate-only, one will be more advanced and slower. This is covers the expectations and most of the use cases. Completely unrelated, C++ also needs non-recursive way to iterate over a data structure like a variant - think "visit" but without recursion and with early outs (unlike fold expressions today).
52:13 You can do automated tests in C and use same approach described for C++. So entire assumption is just wrong - there is no difference between C and C++ in such a case. You shouldn't lie to your audience by inventing false advantages of C++ over C.
Exceptionally well done presentation. I think your definition of embedded systems the most accurate I've seen.
If you work in the field of embedded system and have certain knowledge in c/c++ language, toolchain, operating system, hardware, and middleware application development, this talk is more than awesome. Very appreciated!
Thank you so much for trying to feed us in your information ,it's a pleasure for me to watch your videos.
More or less all explanations found in internet how C++ is better than C, but how to write C++ code in practical way for embedded systems?
16:58 std::variant provides exactly opposite to why embedded programmers use union. (ex. register access with bit fields)
Instead of forcing to use existing C++ features for embedded system, why C++ can't come up some embedded friendly features?
Great video. Wish I can go to CppCon one day
What is "unit programming". I think I understand user defined literals, but I have no idea about unit programming.
very nice
19:31, do you mean a variable size compiler-time array (not a vector)? Not an allocated memory, but a fully handled by the compiler 1?
25:25, to me, the most frequent issue in project come from its details. For C++ specifically, type misinterpretation is the 1.
46:19, no, this is precisely what we want. ',' could be confused with other countries notation.
47:10, I guess you forgot to write the 'class' after enum, on the right side. 48:15, ')' replacing '}'.
For your first question,
He's talking about VLAs in C. This was a feature C had (it was added in C99, but made optional (effectively removed) in C11) that allowed for dynamically-sized arrays that lived on the stack,
thank you for great vide,
You are welcome!
There are actually quite a few things missing in C++ to be used in (smallish) embedded, in particular in the sdt because of the allocations.
C++ needs to have ~two more standard allocators to be practically useful, both of which to use static memory - one will be fast and allocate-only, one will be more advanced and slower. This is covers the expectations and most of the use cases.
Completely unrelated, C++ also needs non-recursive way to iterate over a data structure like a variant - think "visit" but without recursion and with early outs (unlike fold expressions today).
Why is c plus used in embedded ??
52:13 You can do automated tests in C and use same approach described for C++. So entire assumption is just wrong - there is no difference between C and C++ in such a case.
You shouldn't lie to your audience by inventing false advantages of C++ over C.