Skip to main content

Posts

Showing posts from 2023

How to use gdb in Ubuntu Terminal

Here's a practical, minimal guide for using GDB in Ubuntu terminal — from launching to setting breakpoints and navigating your code. 🧰 Step 1: Compile with Debug Symbols Use -g and disable optimizations ( -O0 preferred for debugging): bash Copy Edit g++ -g -O0 -o myprog myprog.cpp 🚀 Step 2: Launch GDB bash Copy Edit gdb ./myprog You'll see a (gdb) prompt. 🎯 Step 3: Set Breakpoints You can set breakpoints in three main ways : ✅ a. At a function gdb Copy Edit (gdb) break main ✅ b. At a specific file and line gdb Copy Edit (gdb) break myprog.cpp:42 ✅ c. At a method in a class gdb Copy Edit (gdb) break MyClass::doSomething If the symbol is mangled (C++), GDB usually demangles automatically, especially if compiled with -g . ▶️ Step 4: Run the Program gdb Copy Edit (gdb) run 🧭 Step 5: Navigate Command Meaning next or n Step over current line step or s Step into function call finish Run until current function returns continue or c Continue until...

Ubuntu - C++ Notes: Install & update boost c++ library from git (may contain some error in process mentioned below)

 Boost C++ Library Installation from git in ubuntu: 1. create a directory named boost in your desired location and go to that directory mkdir boost;cd boost; 2. clone boost recursively from git using command git clone --recursive https://github.com/boostorg/boost.git 3. cd boost; sudo ./bootstrap.sh; 4. sudo ./b2; 5. sudo ./b2 install; DONE! --------------------------- Boost C++ Library Update Verson from git in Ubuntu: 1. go to gitDownloads/boost directory cd gitDownloads/boost; 2. git pull; 3. git submodule update --recursive; 4. cd boost; sudo ./bootstrap.sh; 5. sudo ./b2; 6. sudo ./b2 install; DONE!

C Notes: GUI Toolkit comparison - EFL, GTK, IUP, XForms, XVT : gBard Ans

  Here's a comparison of the GUI toolkits you mentioned, highlighting key features, pros, and cons: **Toolkit Key Features Pros Cons** Enlightenment Foundation Libraries (EFL) - Native look and feel - Comprehensive widget set - Built-in effects and animations - Advanced graphics capabilities - Highly customizable - Modern and visually appealing interfaces - Efficient resource management - Steeper learning curve - Smaller community and resources GTK - Cross-platform - Widely adopted - Extensive widget set - Mature and well-supported - Native look and feel on most platforms - Large community and resources - Good performance - Can be less visually appealing out-of-the-box - Steeper learning curve for complex UIs IUP - Cross-platform - Lightweight and efficient - Simple API - Multiple language bindings - Easy to learn and use - Fast performance - Suitable for embedded systems - Smaller widget set - Less customization options XForms - Cross-platform - Model-view-controller architectur...