随笔分类 -  C++

有关C++中的常见问题
摘要:在类中的使用案例: #include <iostream> class Method; // forward declaration class MethodPtr { public: void (Method::*func)() = nullptr; }; class Method { publi 阅读全文
posted @ 2022-12-19 16:41 strive-sun 阅读(31) 评论(0) 推荐(0) 编辑
摘要:这是一个很久之前的问题了,今天记录一下,以便遇到同样问题的同学能够看到此文章 崩溃环境: 目前仅收到 windows 7 的部分用户反馈,在程序启动时发生闪退 问题分析: 查看用户提供的日志,可以看见崩溃发生在 sentry 内部 堆栈显示,在加载 sentry_get_modules_list 时 阅读全文
posted @ 2022-12-12 14:53 strive-sun 阅读(126) 评论(0) 推荐(0) 编辑
摘要:有用户反馈启动程序时,没有出现 UI 界面,程序跟 “闪退了一样”,查看日志,没有发现闪退或者报错异常,后面远程用户电脑并尝试解决 研究分析:在用户电脑上运行 debug 包,会出现 qt.qpa.fonts:Unable to enumerate family... 错误 初步怀疑是 window 阅读全文
posted @ 2022-12-09 15:37 strive-sun 阅读(835) 评论(0) 推荐(0) 编辑
摘要:场景: x86 的项目在 x64 的 windows 机器上运行时出现未响应的情况,使用任务管理器创建该进程的转储文件 因为项目是 32 位的,所以使用 x86 的 windbg 来调试 dmp 文件,使用 kn 列出堆栈信息,出现了一些与项目代码无关的函数调用 后面研究发现,这个调用都是 wow6 阅读全文
posted @ 2022-11-30 17:56 strive-sun 阅读(335) 评论(0) 推荐(0) 编辑
摘要:如标题所说,在 VS 编译器中调用 Qt 库 首先安装一个适合 VS 的 Qt 版本 不知道怎么安装的,可以参考:Visual Studio+Qt配置开发环境 Qt 安装之后,需要在 VS 编译器中安装 Qt VS Tools 拓展,以便在 vs 中新建 C++/Qt 项目 不知道如何安装的,可以参 阅读全文
posted @ 2022-11-29 18:58 strive-sun 阅读(3263) 评论(0) 推荐(0) 编辑
摘要:vecotr 容器中插入多条字符串,再将 vector 的地址转换为 char** 代码如下: #include <stdio.h> #include <string> #include <vector> int main() { std::vector<std::string> url_vecto 阅读全文
posted @ 2022-11-08 15:46 strive-sun 阅读(1879) 评论(0) 推荐(0) 编辑
摘要:单例模式(Singleton)也称为单件模式,其意图是保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。有很多地方需要这样的功能模块,如系统的日志输出,GUI 应用必须是单鼠标,操作系统只会弹出一个任务管理器等。 在我们的项目中使用了 Chrome 提供的 base:: 阅读全文
posted @ 2022-10-25 16:53 strive-sun 阅读(208) 评论(0) 推荐(0) 编辑
摘要:源自 stackoverflow 论坛,很有意义 第一个问题,引用传递和按值传递的场合 There are four main cases where you should use pass-by-reference over pass-by-value: If you are calling a 阅读全文
posted @ 2022-10-20 15:02 strive-sun 阅读(24) 评论(0) 推荐(0) 编辑
摘要:在开发新项目时需要用到一些三方 API,这些三方 API 没有生成 lib,所以我们在 VS 编译器中添加这些三方文件夹的头文件路径后 会出现 ERROR LNK2019 的错误提示,这些提示通常都是外部文件缺少库文件导致的,以往我们只需要在链接器的选项中添加三方库的路径即可 但是在这个问题中,我们 阅读全文
posted @ 2022-10-11 19:08 strive-sun 阅读(527) 评论(0) 推荐(0) 编辑
摘要:在开发一个新项目时,发现每次编译时都会产生一些 .obj 无用的文件,这些文件并不需要 push 到 github 上 故使用 .gitignore 忽略这些文件 首先,我们可以设置这些文件的输出目录,比如建一个 temp 的中间目录 然后在本地新建一个 .gitignore 文件 在其中写入 te 阅读全文
posted @ 2022-10-11 11:46 strive-sun 阅读(34) 评论(0) 推荐(0) 编辑
摘要:有用户反馈使用我们的软件时会出现 ERR_CONNECTION_CLOSED 问题 我们根据反馈排查问题发现是软件的 websocket 监听端口被另一款软件占用了,暂时的解决方法是将占用的软件关闭 可以通过命令行窗口输入 netstat -ano|findstr "9002" 其中,9002 是端 阅读全文
posted @ 2022-10-09 15:00 strive-sun 阅读(2458) 评论(0) 推荐(0) 编辑
摘要:进程的内存映像是指内核在内存中如何存放可执行程序文件。 在将程序转化为进程的过程中,操作系统将可执行程序由硬盘复制到内存。 可执行程序和内存映像的区别 可执行程序位于磁盘中而内存映像位于内存中; 可执行程序没有堆栈,因为程序被加载到内存中才会分配堆栈; 可执行程序虽然也有未初始化数据段但它并不被储存 阅读全文
posted @ 2022-09-29 11:04 strive-sun 阅读(31) 评论(0) 推荐(0) 编辑
摘要:std::vector<std::string> SplitStringBySpace(std::string strs) { std::vector<std::string> vector_str; if (strs.empty()) { return vector_str; } boost::t 阅读全文
posted @ 2022-09-19 16:08 strive-sun 阅读(364) 评论(0) 推荐(0) 编辑
摘要:项目中在使用 sentry 上传事件的 attachment 函数过程中发现,附带的 log 文件是未压缩的,于是有了需求,即需要在 sentry 内部将未压缩的文件流压缩后再上传给服务器 这个需求看似挺简单的,其实过程挺坎坷的,因为要看 sentry 的源码,并对 zlib 的库有一定的了解才行。 阅读全文
posted @ 2022-09-07 19:26 strive-sun 阅读(376) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示