C/C++
C/C++语言经验总结
一朵桃花压海棠
专注音视频处理,流媒体开发,5年音视频开发经验,对WebRTC,FFmpeg,OpenGLES有一定开发经验
展开
-
单例模式
单例模式: #include <iostream> using namespace std; class Singleton { public: ~Singleton() { cout << "~Singleton虚构函数" << endl; } Singleton(const Singleton&) = delete;//禁止使用该函数,防止使用错误 Singleton& operator=(const Singleton&) = d原创 2020-11-07 14:31:24 · 292 阅读 · 0 评论 -
采用dlopen、dlsym、dlclose加载动态链接库
1、前言 为了使程序方便扩展,具备通用性,可以采用插件形式。采用异步事件驱动模型,保证主程序逻辑不变,将各个业务已动态链接库的形式加载进来,这就是所谓的插件。linux提供了加载和处理动态链接库的系统调用,非常方便。本文先从使用上进行总结,涉及到基本的操作方法,关于动态链接库的本质及如何加载进来,需要进一步学习,后续继续补充。如何将程序设计为插件形式,挖掘出主题和业务之间的关系,需要进一步去...原创 2018-05-26 11:37:26 · 339 阅读 · 0 评论 -
android 蓝牙控制继电器——单片机控制端
一直没怎么写博客,贴一个比较简单小例子(以前做的 android 通过wifi实现万能遥控器 中拆分出来的小案例): android客户端通过蓝牙协议,控制继电器(想控制其他玩意,自己设计) 图示: 今晚,先说硬件电路以及单片机部分。 最小单片机系统板以及外围电路,这个电路非常简单(注意继电器的接法),不做过多介绍。 单片机端程序(蓝牙模块做串口使用): /**...原创 2019-05-05 11:13:47 · 4420 阅读 · 0 评论 -
ndk中杀线程的办法
不提倡强制杀死线程,当我们的一个线程获取了一个锁,正在访问某个共享方法的时候,还没来得及解锁就被干掉了,那这个锁就永远不会被解掉了,于是所有依赖这个锁的其它线程可能就锁死了。 android的ndk中没有提供类似linux的pthread_cancel函数来杀死线程。 #include <jni.h> #include <string> #include<pthrea...原创 2019-04-23 16:27:07 · 681 阅读 · 0 评论