title:Undefine C keywords:c,linux,asm # Undefined C There is possible to piece of code inside online c compiler like https://www.onlinegdb.com/online_c_compiler Or run locally ## Syntax ### Variables Standard list of available types #### Check type size All types have size that are declared in bytes. Some of the types are machine dependents. like int/long, if there is needed machine independent types then there are int32_t/uint32_t/int64_t/uint64_t Each architecture 8bit/16bit/32bit/64bit will have different size for those types Use __sizeof()__ Running on x86 machine ```c #include #include #include int main() { printf("Sizeof int %lu\n",sizeof(int)); printf("Sizeof int32_t %lu\n",sizeof(int32_t)); printf("Sizeof int64_t %lu\n",sizeof(int64_t)); printf("Sizeof long %lu\n",sizeof(long)); printf("Sizeof long long %lu\n",sizeof(long long)); } ``` Defined macros'es to get type max and min values are https://en.cppreference.com/w/c/types/limits ```c #include int main() { printf("INT_MIN %d\n",INT_MIN); printf("INT_MAX %d\n", INT_MAX); printf("LONG_MIN %ld\n",LONG_MIN); } ``` #### How to shoot the leg When code suppose to run on 32bit and 64bit platform the size of type may vary. n Need to take in account this case. ### Functions ### If statement ### For cycle ### Structure ### Recursion ### Macro ### Signed/Unsigned ### Endianess ### Styles ### Compiler flags ## Base usage ### Kernel module ### Write plugins ### Intermediate usage ## Linking ### Creating shared library ### Create static libraries ### Join all objects together ## Embedding ### Embed in C++ ### Embed in Go ### Embed in Swift ### Embed in JS ### Lua in C ### Python in C ## Multiplatform ### Cross compile ### Different flags ### Check architecture ### ARMv8 ### AVR8 ## Graphics ### SDL2 ### GTK ### OpenGL ### Generate image