QMenu 的坐标问题 QMenu 的坐标是全局坐标系中的坐标 QMenu 继承自 QWidget,根据文档 QWidget::pos 中描述,坐标为相对父对象的坐标。 而 QMenu::pos 没有单独的文档描述,理应根据父类 QWidget::pos 来理解。 但实际上 QMenu 的坐标为全局坐标系中的坐标,这一点在 QMenu::exec 中有描述。
Golang JSON 序列化时动态忽略字段 在使用 JSON 时经常遇到需要忽略字段的情况,例如返回用户信息时不能返回密码,通常将注解 TAG 设为 json:"-" 即可: type User struct { Account string `json:"account"` Password string `json:"-"` Nickname string `json:"nickname"` }
CMake 子目录依赖处理 最近开发的一个项目依赖 libgeotiff,同时 libgeotiff 又依赖 libtiff,我将他们都加入 thirdparty 中,通过 add_subdirectory 添加进项目中。 thirdparty CMakeLists.txt libgeotiff libtiff
Windows 上 CMake 找不到 CUDA 工具集的问题 问题1 CMake Error at C:/Program Files/CMake/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:470 (message): No CUDA toolset found. 需要将 CUDA 目录里的 MSBuildExtensions 赋值 Visual Studio 的目录中:
Caller Saved Register & Callee Saved Register 在使用汇编编程时,调用间需要保存与恢复寄存器,这些寄存器可以由调用者保存恢复(Caller Saved Register)也可以由被调用者保存恢复(Callee Saved Register)。 由于调用者不知道哪些寄存器会被修改,因此只能将所有 Caller Saved Register 进行保存恢复,但这样做效率低下。 因此使用 Callee Saved Register 由被调用者根据需要保存和恢复会被改变的寄存器更常用。需要保存的寄存器如下: 架构 被调用者保存的寄存器
Linux Hook 技术 Hook 是一种覆盖重写进程中符号的技术,在 Linux 中,通过环境变量 LD_PRELOAD 预加载包含同名符号的动态库即可实现。 覆盖 malloc 和 free 检查内存泄漏 // 文件名: memcheck.c // 编译命令: gcc -o memcheck.so memcheck.c --shared -fPIC #define _GNU_SOURCE
Rust 多线程下载 use std::{ env, error::Error, str::FromStr, fs::File, io::{Write, Seek, SeekFrom::Start}, path::Path,