Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung |
c [2018/02/24 07:17] – [Links] olli | c [2025/03/01 07:55] (aktuell) – [Links] olli |
---|
#endif | #endif |
</code> | </code> |
| |
===== Einschränkungen von C gegenüber C++ ===== | ===== Einschränkungen von C gegenüber C++ ===== |
^Bemerkung ^C ^C++^ | ^Bemerkung ^C ^C%%++%%^ |
|keine Defaultparameter| <code c>void foo_a(int a){foo_ab(a, 42)}; | |keine Defaultparameter| <code c>void foo_a(int a){foo_ab(a, 42)}; |
void foo_ab(int a, int b)</code>|<code c++>void foo(int a, int b=42)</code> | | void foo_ab(int a, int b)</code>|<code c++>void foo(int a, int b=42)</code> | |
int matrix[length];</code>|<code c++>const int length = 12; | int matrix[length];</code>|<code c++>const int length = 12; |
int matrix[length];</code>| | int matrix[length];</code>| |
| |
| |
| ===== Unterseiten ===== |
| {{indexmenu>c}} |
===== Links ===== | ===== Links ===== |
* [[http://ewiki.e-dschungel.de/software/avr-gcc|Hinweise speziell zum AVR-GCC]] | * [[http://ewiki.e-dschungel.de/software/avr-gcc|Hinweise speziell zum AVR-GCC]] |
* [[http://blog.regehr.org/archives/28|Nine ways to break your systems code using volatile]] | * [[http://blog.regehr.org/archives/28|Nine ways to break your systems code using volatile]] |
* [[http://www.github.com/abcminiuser/avr-tutorials/blob/master/ManagingLargeProjects/Output/ManagingLargeProjects.pdf?raw=true|C Code modularisieren]] | * [[http://www.github.com/abcminiuser/avr-tutorials/blob/master/ManagingLargeProjects/Output/ManagingLargeProjects.pdf?raw=true|C Code modularisieren]] |
* [[http://www.soundsoftware.ac.uk/c-pitfall-unsigned|Pitfalls in C and C++: Unsigned types]] | |
* [[http://embeddedgurus.com/stack-overflow/2009/08/a-tutorial-on-signed-and-unsigned-integers/|A tutorial on signed and unsigned integers]] | |
* [[http://www.geeksforgeeks.org/understanding-extern-keyword-in-c/|Understanding extern keyword in C]] | * [[http://www.geeksforgeeks.org/understanding-extern-keyword-in-c/|Understanding extern keyword in C]] |
* [[http://graphics.stanford.edu/~seander/bithacks.html|Bit Twiddling]] | * [[http://graphics.stanford.edu/~seander/bithacks.html|Bit Twiddling]] |
* [[http://cdecl.org/|Übersetzung von Array und Pointerschreibweise "C Gibberish <-> English"]] | * [[http://cdecl.org/|Übersetzung von Array und Pointerschreibweise "C Gibberish <-> English"]] |
* [[http://www.drdobbs.com/cpp/the-x-macro/228700289|The X Macro]] | * [[https://web.archive.org/web/20200926082017/https://indi-project.org/docs/2016-ccs.pdf|Twice the Bits, Twice the Trouble: Vulnerabilities Induced by Migrating to 64-Bit Platforms (via Wayback Machine)]] |
| * [[https://godbolt.org/|Compiler-Explorer]] |
| * [[https://developers.redhat.com/blog/2014/10/16/gcc-undefined-behavior-sanitizer-ubsan/|GCC Undefined Behavior Sanitizer – ubsan]] |
| |
| ==== Signed/Unsigned ==== |
| * [[http://www.soundsoftware.ac.uk/c-pitfall-unsigned|Pitfalls in C and C++: Unsigned types]] |
| * [[http://embeddedgurus.com/stack-overflow/2009/08/a-tutorial-on-signed-and-unsigned-integers/|A tutorial on signed and unsigned integers]] |
| * [[https://stackoverflow.com/questions/18195715/why-is-unsigned-integer-overflow-defined-behavior-but-signed-integer-overflow-is/18195756#18195756|Why is unsigned integer overflow defined behavior but signed on integer overflow isn't]] |
| * [[https://www.airs.com/blog/archives/120|Signed Overflow (Airs – Ian Lance Taylor)]] |
| |
| ==== X-Macros ==== |
* [[http://www.drdobbs.com/cpp/the-x-macro/228700289|The New C: X Macros]] | * [[http://www.drdobbs.com/cpp/the-x-macro/228700289|The New C: X Macros]] |
* Reduce C language coding errors with X macros | * Reduce C language coding errors with X macros |
* [[http://www.embedded.com/design/programming-languages-and-tools/4405283/Reduce-C--language-coding-errors-with-X-macros---Part-2|Teil 2]] | * [[http://www.embedded.com/design/programming-languages-and-tools/4405283/Reduce-C--language-coding-errors-with-X-macros---Part-2|Teil 2]] |
* [[http://www.embedded.com/design/programming-languages-and-tools/4408127/2/Reduce-C-language-coding-errors-with-X-macros--Part-3|Teil 3]] | * [[http://www.embedded.com/design/programming-languages-and-tools/4408127/2/Reduce-C-language-coding-errors-with-X-macros--Part-3|Teil 3]] |
* [[https://www.tu-braunschweig.de/Medien-DB/sec/pubs/2016-ccs.pdf|Twice the Bits, Twice the Trouble: | * [[https://blog.brush.co.nz/2009/08/xmacros/|Code generation with X-Macros in C]] |
Vulnerabilities Induced by Migrating to 64-Bit Platforms]] | |
* [[https://godbolt.org/|Compiler-Explorer]] | |
| |