Difference between revisions of "C programming notes"
From Wiki at Neela Nurseries
m |
m (Add section regarding serial port programming.) |
||
Line 1: | Line 1: | ||
− | + | == [[#top|^]] Overview == | |
+ | <!-- comentario --> | ||
+ | |||
+ | == [[#top|^]] Serial Port Use in C == | ||
+ | |||
+ | * https://tldp.org/HOWTO/Serial-Programming-HOWTO/ | ||
+ | * https://tldp.org/HOWTO/Serial-Programming-HOWTO/x115.html | ||
+ | |||
+ | <!-- comentario --> | ||
+ | |||
+ | Interesting article by Simon Tatham on co-routines and a couple ways of implementing them in C language; accessible good style of writing: | ||
* https://www.chiark.greenend.org.uk/~sgtatham/coroutines.html | * https://www.chiark.greenend.org.uk/~sgtatham/coroutines.html | ||
− | |||
Quote from the article: | Quote from the article: | ||
− | <ul> | + | <ul><! -- not intended use for ul tag --> |
<i> | <i> | ||
"Any coding standard which insists on syntactic clarity at the expense of algorithmic clarity should be rewritten." - Simon Tatham | "Any coding standard which insists on syntactic clarity at the expense of algorithmic clarity should be rewritten." - Simon Tatham |
Revision as of 19:23, 8 September 2022
Contents
^ Overview
^ Serial Port Use in C
- https://tldp.org/HOWTO/Serial-Programming-HOWTO/
- https://tldp.org/HOWTO/Serial-Programming-HOWTO/x115.html
Interesting article by Simon Tatham on co-routines and a couple ways of implementing them in C language; accessible good style of writing:
Quote from the article:
- <! -- not intended use for ul tag -->
"Any coding standard which insists on syntactic clarity at the expense of algorithmic clarity should be rewritten." - Simon Tatham
Floating point convert and notes on-line, Javascript converter:
^ C Pointers and dereference syntax
This section the beginning of references, links and personal notes on some of the most difficult and important C language constructs, often used in schedulers and RTOS implementations:
Arrays of strings and arrays of pointers to strings:
^ Simple C examples
Program 1 - use of C comma operator, a binary operator:
#include <stdio.h> #include <stdlib.h> // Compile with: // // $ gcc -Wall main.c // // As of 2022-06-09 Builds with 'gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0' int main(int argc, char *argv[]) { int z = 3; int y[(z++, (z + 1))]; y[0] = 1; if ( z == y[0] ) { } #define SIZE_OF_160_BYTES (160) char lbuf[SIZE_OF_160_BYTES] = { 0 }; snprintf(lbuf, SIZE_OF_160_BYTES, "2022-06-09 main.c test of C comma operator\narray y[] has size of %lu\n", sizeof(y)); printf("%s", lbuf); return 0; }
^ References