按分类归档: 代码编译

QT调试动态库

dream/ 三月 28, 2019/ C/C++, 代码编译/ 0评论

QT直接调试时,发现在动态库中打的断点无效,提示找不到动态库

设置动态库路径即可正常调试

设置位置:选项 ——> 调试器 ——> GDB ——> 额外的启动命令,添加set solib-search-path library_path ,将 library_path[……]

阅读全文

C语言中堆栈溢出的利用—-某条的神奇面试题

dream/ 十一月 25, 2018/ BUG, C/C++, 代码编译/ 0评论

今天在看脉脉的时候遇到了一个神奇的问题。

看到的第一感觉是WTF?没有输入参数怎么改全局变量?

后来看评论区后明白了解决方案,堆栈溢出。大佬就是大佬,之前我从未考虑过还有这种操作。

解决方案1. 利用C中的堆栈溢出

在pass函数中创建一个新变量y,那么&y获得y的地[……]

阅读全文

一个关于继承时析构函数的BUG

dream/ 十月 1, 2018/ BUG, C/C++, 代码编译/ 0评论

在C++中,子类会自动调用父类的析构函数,这个在有时会导致一些问题。

昨天,我就因为这个遇到了一个迷之BUG。某个类第一次创建它的对象时没有任何问题,但是再创建一个就会导致double free。原因是我在子类的析构函数中又手动调用了父类的析构函数。但我无法理解的是,只调用一次时不出错。[……]

阅读全文

树莓派交换空间问题的解决

dream/ 四月 10, 2018/ C/C++, linux, 代码编译, 树莓派/ 0评论

今天在树莓派编译一个较大的C项目时发现每次编译到43之后速度会特别慢并且死机,百度之后发现可能是交换空间不足,增加1G交换空间后才解决死机问题。

树莓派3B默认的swap空间为99m,这对于编译一些大点的项目显然有点不够看,很容易就会死机,以下给出增加swap的解决方案

在/opt/im[……]

阅读全文