SPeak
SPeak
### Xmake 版本 2.8.7 ### 操作系统版本和架构 Ubuntu22.04 ### 描述问题 真实问题出现在 我自己的项目[KHistory](https://github.com/Sunrisepeak/KHistory)上([xmake.lua](https://github.com/Sunrisepeak/KHistory/blob/main/xmake.lua)) 老电脑上使用 xmake v2.7.3可以正常构建,新安装的ubuntu22.04, 使用 xmake v2.8.7 会出现 opengl 相关的问题 最后发现编译 [imgui-scaffold](https://github.com/xmake-examples/imgui-scaffold)示例也会出现问题 ```cpp sudo add-apt-repository ppa:xmake-io/xmake sudo apt-get update sudo...
### 功能描述  例如把上面这个区域 一定透明度 & 显示在 应用/屏幕顶层图层 的一个区域 类似如下  ### 方案 目标支持: WIN / Linux / Mac
issue commit: f11d9402c1661a586760be9017cb6764d1577f2f 在 C++ 中,全局变量和全局静态变量的初始化时机是不同的。 全局变量的初始化时机是在程序启动时,进入 main 函数之前进行的,初始化顺序与声明顺序有关。也就是说,如果有多个全局变量,它们的初始化顺序取决于它们在源文件中的声明顺序,先声明的先初始化。 而全局静态变量的初始化时机是在它们所在的编译单元被第一次使用时进行的,初始化顺序与声明顺序无关。也就是说,如果有多个全局静态变量,它们的初始化顺序是不确定的,取决于编译器和链接器的实现。 因此,如果在一个编译单元中同时存在全局变量和全局静态变量,并且它们的值相互依赖,那么可能会出现问题。如果全局变量的初始化依赖于全局静态变量的值,而全局静态变量尚未初始化,那么全局变量会被初始化为默认值,从而导致程序错误。 环境 ``` gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0 Copyright (C) 2019 Free Software Foundation, Inc. This is free software; see the...
- 不同分配器间(内存来源)的对象, 禁用移动语义 ```cpp dstruct::Vector test() { dstruct::Vector vec1; dstruct::Vector vec2; // do something // vec1 = vec2 return dstruct::Vector::convert(vec1); return dstruct::Vector::copy(vec1); return dstruct::copy_to(vec1); } ```
https://github.com/Sunrisepeak/DStruct/blob/faae622277975439e6ce3e74c3aa47e7b9a05ddc/core/ds/tree/AVLTree.hpp#L283
原则参考: https://zhuanlan.zhihu.com/p/635745510
- nullptr check - data valid/invalid verify - border check - ...