cpp
ByteFlys
这个作者很懒,什么都没留下…
展开
-
【C++】std库实现线程休眠
【代码】【C++】std库实现线程休眠。原创 2022-12-20 14:48:43 · 622 阅读 · 0 评论 -
【C++】C语言打印当前代码所在文件、函数和行数
C语言提供了三个内置宏,用于提供代码位置信息。原创 2022-11-14 09:46:52 · 2119 阅读 · 0 评论 -
【QT】QT使用lib或dll库时,运行提示exited with code -1073741515
如果想要知道缺少哪些dll文件,也可以直接点击exe文件运行,会提示缺少哪个dll。需要将用到的dll文件,拷贝到编译目录下的exe文件旁边即可。这种情况,一般是缺少运行时所需要的dll文件导致的。原创 2022-11-11 09:20:51 · 1369 阅读 · 0 评论 -
【QT】QT关闭代码编辑器中的代码警告和编译警告
打开【工具 > 选项】,关闭行注释打开【帮助 > 插件】,关闭代码格式化模型大功告成,界面很清爽(代码本身比较乱,要不更清爽)原创 2022-10-31 06:51:35 · 2397 阅读 · 0 评论 -
【C++】【字符处理】C++替换字符中的某个字符,最简单的实现方式
str.erase(remove_if(str.begin(), str.end(), [](char c) -> bool { return c == '1';}), str.end());原创 2021-09-12 23:22:35 · 1755 阅读 · 0 评论 -
【C++】C++运算符优先级
常见的加减乘除括号这些运算符优先级我们都知道,和数学中的完全一致但是其它的运算符,像位运算,位移运算,比较运算,自增运算等放一起时,就很容易弄混了所以有必要理解下运算符之间的优先级关系,或者是勤用括号,因为括号的优先级是最高的不知道哪个优先级最高时,就用括号把想要先执行的括起来就行了第一梯队数组下标,括号,成员运算符(对象,指针)第二梯队类型转换,逻辑取非,按位取反,取值取址,自增自减第三梯队加减乘除,取余第四梯队位移运算第五梯队比较运算第六梯队位运算第七梯队逻辑运算第八原创 2021-09-09 14:17:23 · 1553 阅读 · 0 评论 -
【语言】C++和Java的不同开发体验,NDK开发一年后的感悟
前篇都说C++难,那么C++到底难在哪里,我来说句公道话首先,只要大家愿意学,没有克服不了的问题,还没难道学不会,不能用的地步其次,难是相对的,相对于Java和Javascript这些语言来说,C++使用上确实是麻烦很多的,这点不可否认语言特性不同C++相对其它高级语言的最大的特点,就是指针和引用,资源释放指针和指针释放,本身只能算是比较麻烦,不算难但当一个工程变大,对象之间关系变复杂,使用的库增多,又混合多线程使用时,它真的就是一大难点了因为此时,很多人已经很难弄清楚,别的地方会不会还在使原创 2021-09-06 11:41:12 · 245 阅读 · 0 评论 -
【C++】【异常处理】为什么c++代码里,使用了try-catch后,还是会崩溃
C++的try-catch,和Java、Javascript的异常处理,性质是不一样的C++的try-catch,只能捕获在代码中主动throw出去的错误对于空指针,野指针,内存越界等不在预料之中的错误,是没办法捕获的所以C++的异常机制,更多时候是为了方便处理可预见的异常,对于程序崩溃是没太大效果的这就是为什么很多人不建议在C++中使用try-catch的原因,它有点用有用,但好像又没太大用,地位比较尴尬但是C语言是底层语言,很多时候都是直接和内存打交道出了致命问题,就算程序不崩溃,再继续运行原创 2021-07-19 21:07:25 · 5690 阅读 · 1 评论 -
【C++】【开发琐事】pthread_create啥也不干也会崩溃
说来惭愧,pthread_create是要返回void*的,这里忘写return了由于编译器没有提示,报错也没提示具体原因,所以自己想了半天才想出来记录一下,相信会有很多人犯一样的错误,特别在编译器没错误提示的情况下,经常忘记return //开启解码线程 pthread_create(&pidDecode, nullptr, [](void *args) -> void * { //AudioChannel *audioChannel = static_cast<A原创 2021-07-15 10:49:59 · 526 阅读 · 1 评论 -
【C++】configure、 make、 make install的作用
这三个指令,在Linux中安装软件,或编译程序时,经常使用到他们的作用分别是configure:配置软件的构建环境make:执行makefile文件中定义的工作任务,一般会生成可执行文件,静态库,动态库等文件make install:安装,将make生成的程序或文件,拷贝到指定的位置...原创 2021-07-13 12:55:16 · 778 阅读 · 0 评论 -
【C++】【pthread】pthread_mutex_lock called on a destroyed mutex
一般是调用了析构函数进行destroy后,其它的线程还在调用使用了mutex的方法具体原因取决于代码是如何编写的,但大致可以从以下方面出发来考虑原创 2021-07-12 09:45:28 · 12890 阅读 · 0 评论 -
【C++】【FFMpeg】avformat_open_input返回-101
-101错误码表示超时,应该是timeout设置的太小造成的,ffmpeg中的timeout单位是us,不是ms当timeout小于1ms时,即小于1000时,这个参数会被无视,等同于不设置超时,永远等待正常时间应当设置在1s-3s之间 AVDictionary *option = nullptr; av_dict_set(&option, "timeout", "3000000", 0); int openResult = avformat_open_input(&a原创 2021-07-03 08:08:17 · 555 阅读 · 0 评论 -
【C++】【指针和引用】*&作为参数和语句时的作用
含义 作为参数时,【*&】表示参数的真实类型是引用,只是它引用的是一个指针类型的数据 作为语句时,表示先对变量进行取址,再对变量进行取值作为参数时 void releaseAvFrame(AVFrame *&frame){ frame = nullptr; } AVFrame *p = new AVFrame(); releaseAvFrame(p); //由于frame是p的引用,当frame置空时,p也被置空 //一般需要在函数内部,修改外部实参poi原创 2021-06-03 08:56:56 · 384 阅读 · 0 评论 -
【C++】【类型转换】C++类型转换的五种方式
C风格强制转换,即通过圆括号直接转型 浮点数赋值给整型,舍弃小数部分(符合一般思维,可放心使用) 整数赋值给浮点型,数值不变,底层改用指数格式存储(符合一般思维,可放心使用) double型小数赋值给float型小数,精度略微损失,可能出现数值范围溢出(小心使用) 字符赋值给整数型,保留原字节数据,因为字符本身就是用ASCII码表示的,本质就是八位的较小整数(理解字符的存储方式,就很容易...原创 2019-12-02 23:57:03 · 1326 阅读 · 1 评论 -
【C++】【类型转换】C++怎么判断两个整数相加数值是否溢出
unsigned int a; unsigned int b; unsigned int c = a + b; if(c < a) cout << "integer value overflow" << endl;如上图所示,用箭头长度表示b的大小当b的数值在第一个箭头范围内时,不溢出,且a+b>a当b的数值在第二个箭头范围内时,溢出,且...原创 2019-12-02 10:13:50 · 1050 阅读 · 0 评论 -
【C++】【Qt】Qt事件监听器
Qt除了使用信号槽机制来监听事件,还可以像其它语言或UI框架一样,使用回调式的事件监听 //qeventfilter.h #ifndef QEVENTFILTER_H #define QEVENTFILTER_H #include "qlib.h" class QEventFilter : public QObject { Q_OBJECT public...原创 2019-11-16 01:35:54 · 3100 阅读 · 0 评论