使用VisualGDB在VS上编写Linux程序

As a C++ developer and Linux user, I often write code on Linux. Recently, I discovered VisualGDB (a VS plugin), which is a fantastic tool that allows me to write and run programs directly on Linux from Windows! The debugging experience is even better!

Read more »

在VPS上部署shadowsocks服务

In the past few days, I helped a colleague set up a VPS for proxy use and organized some related materials along the way. This article is not aimed at beginners. Before reading the following content, you should first have a VPS that can access the external network (foreign network), and secondly, you should have some basic knowledge of Linux operations.

Read more »

学习C/C++的一些书籍和工具

From the time I began learning C language to now, it has been five or six years, during which I have read quite a few good and bad books, tried many tools (the holy war of compilers/editors), and here I will summarize everything in detail. After messing around for a long time, I have come to a kind of thought, which is different from the “take-it-for-granted” mindset; it is an experience of “doing it yourself.”

Read more »

2016:未来计划


It’s hard to believe that I will soon graduate from university. Although I have learned (and struggled with) quite a lot during my time at university, I still feel that I need to improve and keep working hard.
I have a few thoughts about the future, and I will write them down at this moment to motivate myself.

Read more »

谈高考

These days are the time for the college entrance examination, and it reminds me of a few years ago when I took the exam. Back then, I was still too young, thinking that if I had something I wanted to pursue, I should go for it, wasting a lot of time learning programming. But looking back now, it’s important to study hard in high school, as a degree is indeed a threshold for just graduating.

Read more »

Pthread多线程编程

POSIX Threads (English: POSIX Threads, commonly abbreviated as Pthreads) is the POSIX thread standard that defines a set of APIs for creating and manipulating threads.

Read more »

删除void*指针引发的内存泄露

When a void* points to a class object, performing a delete operation on it will lead to undefined behavior—it is certain that this delete operation will not call the object’s destructor, resulting in a memory leak.

Read more »

结构体成员内存对齐问题

Before discussing memory alignment, let’s first introduce a related concept—offset.

The distance between the actual address of a storage unit and the segment address where it is located is called the intra-segment offset, also known as the “effective address or offset.”

In simple terms, in a structure, the offset refers to the difference between the address of a member in a structure variable and the address of the structure.

Read more »

C语言中不具有原生bool类型

It seems a bit clickbaity; to be precise, there is no bool keyword in the C language standard to represent boolean types. In C++, we usually use bool variables to store logical values. However, there is no bool type in C; C only has the _Bool type. Today, when discussing this issue with someone, it can indeed be confusing, so I’m writing it down for future reference.

Read more »

将树莓派打造成便携的Linux编译环境

I have a Raspberry Pi 2B+ that has been collecting dust for quite a while. Due to frequent power outages at school, I haven’t used it for running scripts or downloads. However, recently, the SSH connection to the VPS has been dropping due to power/network issues, which has been quite frustrating. So I’ve decided to turn the Raspberry Pi into a portable compiling environment.

Read more »