logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

为什么 C++ 的 try/catch 捕不到非法内存访问

非法内存访问(如空指针解引用、越界写)属于未定义行为,由硬件与操作系统直接处理,触发SIGSEGV/SIGBUS等信号,而非C++语言异常。C++的try/catch仅捕获语言层异常(如throw),无法拦截进程级崩溃。因性能、安全与设计哲学考量,标准不强制检查指针合法性,也不允许可靠恢复。捕获此类错误既不可靠也无意义。正确做法是使用智能指针、边界检查工具(如std::span、AddressSa

#c++#开发语言
Qt的QThread::usleep和FFmpeg的libavutil模块的av_usleep哪个精度高一些?

在大多数应用场景中,两者之间的精度差异可以忽略不计。如果你需要确保最高的精度或者在跨平台项目中工作,建议使用FFmpeg的av_usleep,因为它提供了更好的跨平台支持和可能的封装层来减少潜在的精度问题。然而,对于大多数日常用途,两者之间的差异不会对功能或结果产生显著影响。如果你确实需要更高的精度控制,可以考虑使用更底层的API,如直接调用操作系统的睡眠函数(例如在Linux上直接使用nanos

#qt#开发语言#音视频
Qt 冷门但致命:nativeEvent() 到底动了谁的奶酪?

nativeEvent() 是 Qt 提供的‌拦截并处理操作系统底层原生消息‌的钩子函数,用于在 Qt 事件系统之外直接访问平台特定事件(如 Windows MSG、X11 XEvent、macOS NSEvent)。‌‌

#qt#开发语言
使用Qt编程的一点感悟

Qt诞生于1991,也是个90后。它是一个支持跨平台(Windows、Linux、macOS、Android、嵌入式OS等)的C++图形用户界面框架,Qt提供了统一的API来处理文件I/O、网络通信、数据库访问等底层操作,屏蔽了Windows、Linux、macOS等不同操作系统的差异,这使得开发者可以专注于业务逻辑而非平台适配,使用Qt Creator拖拽式开发C++窗体程序,应对中小型软件开发

#qt#c++#开发语言
到底了