Home avatar

Life is the sum of experiences

Various data types in C

C/C++ provides various data types that can be used in your programs.In general, you’d commonly use: int for most variables and “countable” things (for loop counts, variables, events). char for characters and strings. float for general measurable things (seconds, distance, temperature). uint32 for bit manipulations, especially on 32-bit registers.

The size of structure in C

The sizeof for a struct is not always equal to the sum of sizeof of each individual member. This is because of the padding added by the compiler to avoid alignment issues. Padding is only added when a structure member is followed by a member with a larger size or at the end of the structure.

The descriptions of typedef

A typedef is a C keyword that defines a new name for a data type, including internal data types (int, char, etc.) and custom data types (struct, etc.). A typedef is itself a type of stored class keyword that cannot appear in the same expression as the keywords auto, extern, static, register, etc.

Conditional compilation directives

Conditional compilation is static compilation of code based on the actual definition of macros (some kind of condition). Compilation conditions can be determined based on the value of an expression or whether a particular macro is defined. C language conditional compilation related precompilation instructions, including #define, #undef, #ifdef, #ifndef, #if, #elif, #else, #endif, defined.

Python Introduction

Python is dynamically-typed and garbage-collected. It supports multiple programming paradigms, including structured (particularly, procedural), object-oriented and functional programming. Python is often described as a “batteries included” language due to its comprehensive standard library.

C Project Performance Tuning

Performance optimization methods and ideas for large C projects. Performance optimization strategies for x86 projects that encounter performance bottlenecks when porting to low performance processors.

GDB debug guide

GDB is a powerful program debugging tool based on command line under UNIX/LINUX operating system released by GNU Source Organization. For a C/C ++ programmer working on Linux, GDB is an essential tool.

HugePages

Reduce page tables by increasing the size of operating system pages to avoid fast table misses. Large page memory optimizer is designed for malloc mechanism, which means allocating large pages to increase TLB hit ratio.