开发记录
windows 未声明的标识符
未声明的标识符 可能是是由编码问题导致的, 将utf-8 转换为 utf-8bom。
使用SSH选项自动接受SSH密钥指纹
ssh -o "StrictHostKeyChecking no" localhost
自定义CopyFile类 会与Windows 系统类冲突
自定义CopyFile类 会与Windows 系统类冲突
原子变量 load 导致 Segfault
#pragma pack(push, 1)
#pragma pack(pop)
字节对齐问题导致原子变量 load 导致 Segfault
return __atomic_load_n(&_M_i, int(__m));
Ubuntu虚拟机不显示网卡
sudo service network-manager stop
sudo rm /var/lib/NetworkManager/NetworkManager.state
sudo service network-manager start
or
sudo systemctl start NetworkManager
sudo systemctl restart NetworkManager
sudo service NetworkManager stop
sudo rm /var/lib/NetworkManager/NetworkManager.state
sudo service NetworkManager star
Linux设置coredump
sudo /sbin/sysctl -w kernel.core_pattern=`pwd`/core-%e-%p-%t
SSH-keygen用法
生成密钥
ssh-keygen -t rsa -C "your_email@example.com"
参数含义
- -t 指定密钥类型,默认是 rsa ,可以省略。
- -C 设置注释文字,比如邮箱。
- -f 指定密钥文件存储文件名。
拷贝到目标机器
cat id_rsa.pub >> ~/.ssh/authorized_keys
Ubuntu下的core dump调试方法
ulimit -c unlimited
ulimit -s 819200
sudo sysctl -w kernel.core_pattern=core.%p
./mytest
gdb ./mytestcore.3795
bt
vmware ubuntu2022 无法拖拽
sudo gedit /etc/gdm3/custom.conf
将WaylandEnable=false前面的#删除保存即可
Qt6 cmake 无法添加文件
如果cmake 不是utf-8 无法添加,utf-8 bom也不行。
std库中文乱码
std::string DirHelper::qsTrStr(const QString qStr)
{
#ifdef Q_OS_WIN
auto localStr = qStr.toUtf8();
QTextCodec *codec = QTextCodec::codecForName("GBK");
auto encodedString = codec->fromUnicode(localStr).toStdString();
return encodedString;
#endif
#ifdef Q_OS_LINUX
return qStr.toStdString();
#endif
}
设置线程名称
std::shared_ptr<std::thread> thread;
auto handle = thread->native_handle();
#ifdef WIN32
SetThreadDescription(handle, L"loadThread");
#else
pthread_setname_np(handle, L"loadThread");
#endif