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/07/23 12:13] (current)
rpjday [Preprocessor]
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]]
 +
 +===== To document =====
 +
 +  * List the properties of "​embedded C".
  
 ===== Internal links ===== ===== Internal links =====
Line 15: Line 20:
 ===== 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 78:
   * 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 88:
   * 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 167:
  
 ===== Threads ===== ===== Threads =====
 +
 +  * C11 threads versus POSIX threads (threads.h)
  
  
c11.1563015154.txt.gz · Last modified: 2019/07/13 10:52 by rpjday