Show pageOld revisionsBacklinksBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. **__[[https://www.c-language.org/]]__** <color /#FFff00>[[https://embeddedartistry.com/fieldmanual-terms/c/?mc_cid=31f38a856e|Embedded Artistry C info]]</color> [[https://blog.regehr.org/archives/1393|Embedded in academia - Teaching C]] https://www.codeproject.com/Articles/357065/Ten-Fallacies-of-Good-C-Code [[https://gcc.godbolt.org/|Compiler explorer]] http://d3s.mff.cuni.cz/~holub/c_features.html https://www.chiark.greenend.org.uk/~sgtatham/cdescent/ <color /#FFff00>http://blog.llvm.org/2011/05/what-every-c-programmer-should-know.html</color> http://umich.edu/~eecs381/handouts/CHeaderFileGuidelines.pdf https://support.dce.felk.cvut.cz/psr/prednasky/jazyk_c/jazykc-en.pdf https://www.embedded-software-engineering.de/objektorientierte-programmierung-mit-c-a-619620/ http://cs.yale.edu/homes/aspnes/classes/223/notes.html#CProgramStructure http://devmethodologies.blogspot.com/ https://mechatronics.me.wisc.edu/labresources/DataSheets/NASA-GSFC_C_Programming_Styles-94-003.pdf https://en.wikibooks.org/wiki/C_Programming/Preprocessor_directives_and_macros#X-Macros if ((sizeof(struct mystruct) % 8 ) != 0) { printf("error!\n"); exit(1); } #define BUILD_BUG_ON(condition) ((void)sizeof(char[1 - 2*!!(condition)])) BUILD_BUG_ON(sizeof(struct mystruct) % 8)); <color /#FFff00>https://github.com/mcinglis/c-style</color> ====== Numerical programming ====== https://blog.segger.com/algorithms-for-division-part-3-using-multiplication/ ====== OOP in C ====== https://dmitryfrank.com/articles/oop_in_c OOC in C coverage in 21st century C (2nd ed.) book. https://github.com/nathancharlesjones/Comparison-of-OOP-techniques-in-C ====== Encapsulation ====== https://embeddedartistry.com/fieldatlas/encapsulation-and-information-hiding-in-c/ ====== assertions ====== Assert usage in real-time systems: https://www.embedded.com/getting-started-with-real-time-assertions/ ====== Other ====== http://blog.llvm.org/2011/05/what-every-c-programmer-should-know.html [[https://beginners.re/|Reverse engineering for beginners book]] [[https://8dcc.github.io/programming/pool-allocator.html|A simple pool allocator in C]] ====== Data type widths ====== 64-bit Unix [LP64] 64-bit Windows [LLP64] 32-bit ARM (ARM 64-bit follows LP64) char 8 8 8 short 16 16 16 int 32 32 32 long 64 32 32 long long 64 64 64 pointer 64 64 32 See also https://wiki.osdev.org/X86-64 https://www.acepace.net/integerQuiz/ c.txt Last modified: 14 months agoby admin