05 2025 档案

摘要:XCB API风格探究 libxcb中的API风格是这样的: // 发送请求并得到 Cookie 对象 xcb_DOSOMETING_cookie_t cookie = xcb_DOSOMETING(conn, ARGS...); // 继续执行其他任务 ... // 在需要获取结果的时候,通过调用 阅读全文
posted @ 2025-05-28 10:42 3的4次方 阅读(92) 评论(0) 推荐(0)
摘要:C语言一个内存分配引发的问题——指针长度截断 问题现象 #include <stdio.h> #include <string.h> int main() { char* str = NULL; str = (char*)calloc(1, 5); fprintf(stderr, str); ret 阅读全文
posted @ 2025-05-07 16:52 3的4次方 阅读(39) 评论(0) 推荐(0)
摘要:C语言ALIGN对齐数宏 Linux内核中有许多 ALIGN 宏,如: #define ALIGN(x, size) __ALIGN_MASK(x,(typeof(x))(size)-1) // typeof宏是gcc的扩展,用于求出x的类型 #define __ALIGN_MASK(x,mask) 阅读全文
posted @ 2025-05-07 10:32 3的4次方 阅读(75) 评论(0) 推荐(0)
摘要:杂谈:正确使用Go接口 https://blog.chewxy.com/2018/03/18/golang-interfaces/ 不要写Java风格的接口 由于Go实现一个接口只需要含有签名完全一致(包括receiver、args和retval)就行了,而不像Java中那样通过 implement 阅读全文
posted @ 2025-05-05 22:50 3的4次方 阅读(11) 评论(0) 推荐(0)
摘要:对象切割(Object Slicing)是 C++ 中的一个常见问题,发生在对象拷贝时,尤其是在涉及基类与派生类之间的赋值或传递时。其结果是派生类对象被转换为基类对象时,丢失了派生类中的特定信息或成员,导致派生类的行为不能被完整地保留。 何时会发生对象切割 对象切割通常在以下几种场景中发生: 值传递 阅读全文
posted @ 2025-05-05 22:23 3的4次方 阅读(34) 评论(0) 推荐(0)