User Tools

Site Tools


c11

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
c11 [2019/07/13 10:52]
rpjday [Overview]
c11 [2019/08/05 13:31] (current)
rpjday [Internal links]
Line 7: Line 7:
   * [[https://​smartbear.com/​blog/​test-and-monitor/​c11-a-new-c-standard-aiming-at-safer-programming/​|C11:​ A New C Standard Aiming at Safer Programming]]   * [[https://​smartbear.com/​blog/​test-and-monitor/​c11-a-new-c-standard-aiming-at-safer-programming/​|C11:​ A New C Standard Aiming at Safer Programming]]
   * [[http://​bit.ly/​C_Nutshell_2e|C in a Nutshell (2e)]]   * [[http://​bit.ly/​C_Nutshell_2e|C in a Nutshell (2e)]]
 +  * [[https://​www.oreilly.com/​library/​view/​21st-century-c/​9781491904428/​|21st Century C]]
   * [[https://​en.cppreference.com/​w/​c|cppreference.com]]   * [[https://​en.cppreference.com/​w/​c|cppreference.com]]
 +
 +===== Fedora packages =====
 +
 +  * clang
 +  * valgrind
 +  * meld [for graphical diff]
 +  * strace; ltrace
 +  * splint
 +  * pkg-config
 +  * gdb; lldb
 +
 +
 +===== To document =====
 +
 +  * List the properties of "​embedded C".
  
 ===== Internal links ===== ===== Internal links =====
  
   * [[21st Century C]]   * [[21st Century C]]
 +  * [[GCC extensions]]
 +  * [[SEI CERT C Coding Standard]]
  
 ===== DON'T CARE ===== ===== DON'T CARE =====
  
-  * digraphs +  * digraphs/trigraphs 
-  * complex numbers +  * "​return"​ing from main, no need as it's default return zero 
-  * floating point+ 
 +===== NOTES ===== 
 + 
 +  * simple language, most work done by library routines (standard + math) 
 +  * "​translation unit"​ 
 +  * predefined identifier ''​%%__func__%%''​ 
 +  * scopes: 
 +    * file 
 +    * block 
 +    * function prototype 
 +    * function 
 + 
 +===== TOPICS ===== 
 + 
 +==== Types ==== 
 + 
 +  * scalar 
 +    * arithmetic 
 +      * basic 
 +      * enums 
 +    * pointers 
 +  * aggregate 
 +    * array 
 +    * structure 
 + 
 +==== Assertions ==== 
 + 
 +==== Compound literals ==== 
 + 
 +==== Generic selections ==== 
 +==== Preprocessor ==== 
 + 
 +  * ''#​define''​ 
 + 
 +==== Threading ==== 
 + 
 +==== Exit/abort ==== 
 + 
 +==== setjmp/​longjmp ==== 
 + 
 +==== Atomic objects ==== 
 + 
 +==== GNU extensions ==== 
 + 
 +  * ''​include_next''​ 
 + 
 +===== Static analyzers ===== 
 + 
 +===== Libraries ===== 
 + 
 +  * because C is a very simple language
  
 ===== TO DO ===== ===== TO DO =====
Line 23: Line 91:
   * ptrdiff_t, size_t   * ptrdiff_t, size_t
   * inline functions   * inline functions
 +  * flexible array/​structure member
   * multi-threading   * multi-threading
   * type-generic macros   * type-generic macros
-  * _Static_assert+  * variadic macros 
 +  * assert(), static_assert(), ​_Static_assert()
   * new library functions(?​)   * new library functions(?​)
   * ''​include_next''​   * ''​include_next''​
Line 31: Line 101:
   * variadic functions (p. 127)   * variadic functions (p. 127)
   * "​restrict"​ type qualifier   * "​restrict"​ type qualifier
 +  * offsetof()
   * generic selections (_Generic)   * generic selections (_Generic)
   * Define "​embedded C".   * Define "​embedded C".
   * syntactic analysers   * syntactic analysers
 +  * setjmp/​longjmp
 +  * exit/​quick_exit/​_Exit/​at_exit/​at_quick_exit
  
 ===== C11 features ===== ===== C11 features =====
Line 107: Line 180:
  
 ===== Threads ===== ===== Threads =====
 +
 +  * C11 threads versus POSIX threads (threads.h)
  
  
c11.1563015154.txt.gz · Last modified: 2019/07/13 10:52 by rpjday