Benutzer-Werkzeuge

Webseiten-Werkzeuge


c

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
c [2018/02/24 07:17] – [Links] ollic [2025/03/01 07:55] (aktuell) – [Links] olli
Zeile 21: Zeile 21:
 #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> |
Zeile 31: Zeile 32:
 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
Zeile 46: Zeile 59:
         * [[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]]+
  
c.1519453067.txt.gz · Zuletzt geändert: 2018/02/24 07:17 von olli