|Coding| C++ smart pointers: unique_ptr, shared_ptr, strong pointer(sp, Android)

In C++, smart pointers, unique_ptr and shared_ptr, are very common.
If you develop on Android, you may have seen strong pointer(sp), it is also a smart pointer.
Some notes about those pointers.

strong pointer in Android, can be saw as shared_ptr.
shared_ptr has a counter to record who is using this pointer in order to prevent dangerous pointer managements.

|Linux| IPC methods introduce, comparison and examples

Threads can share resource with each other, but processes can’t.
Communicating to another processes should use IPC methods.
Common IPC methods in Linux are pipe, shared memory, signal, message queue and domain socket.

This article will introduce shared memory and message queue.
The most efficiency is shared memory (than domain socket).

|Linux| eBPF – BCC config and test

BCC := BPF Compiler Collection (ref. https://lwn.net/Articles/742082/ )

Originally, BPF is a tool for analyzing network traffic. After years, eBPF has been improved to be used for non-networking purposes, such as for attaching eBPF programs to various tracepoints. wiki

Comparing with XDP (driver layer tool for network, XDP test), BCC provides a tool chain for high level languages.
With this tool, developers can implement their own analyzing tools to manage BPF tools by Python, Lua or other high level languages.

This article will show how to config and run a test code.