- 博客(36)
- 资源 (2)
- 收藏
- 关注
原创 WebRTC轻量学习 libdatachannel
如果只在本地,webcam示例就是http和js,是使用aiohttp搭建的网页服务,它实现了一个offer的路由,可以直接将webRTC通信需要的一些参数通过post实现了交换。国产的MetaRTC也是一个很不错的WebRTC项目,也提供了很不错的示例代码,他的示例部分运行效果较差,教程写的也不是很好,我是没有完全走通逻辑。使用libdatachannel中的示例,搭建起信令和网页服务器,然后使用AioRTC中的webcam示例将视频流推送到信令和网页服务器上,并且能够正常播放视频流。
2025-07-03 14:50:58
301
原创 反向 SSH 隧道技术实现内网穿透
内网 Linux PC 机在内网可以使用 SSH 进行连接,但内网的 Linux PC 机 SSH 是作为服务端使用的,只能被动等待连接。我们需要一种技术,让内网 Linux PC 机以客户端的形式连接到一台公网服务器,其他 SSH 客户端也连接到公网服务器,通过公网服务器能够使用命令控制内网 Linux PC 机。有一台内网的 Linux PC 机,想在其他地方(如家中)使用浏览器,在浏览器中能够使用内网 Linux PC 机的命令行。
2025-03-24 16:58:58
977
原创 [编译运行] libc.so.6: version ‘GLIBC_2.xx‘ not found 解决方案
问题产生的场景为:在Ubuntu22.04系统上编译一个项目,最终生成一个可执行文件,然后将这个文件放在 ubuntu20.04的系统里,就会遇到这个问题。这是高版本的libc库编译后将GLIBC的版本信息保存到执行文件中,当该执行文件放在低版本的libc库的系统中时就会出现,使用ldd xxx命令就会发现这个执行程序依赖一些基础动态库。常规的可执行文件通过 ldd xx 命令可查看 xx依赖的三方动态库,使用该编译参数后 ldd 将告知,这不是一个可用的动态程序,但是能够解决这个问题。
2025-03-11 14:31:29
668
转载 Linux查看某个应用占用内存最大值
在进行Linux开发时,尤其是对内存敏感的设备开发时,每个字节都是珍贵的那种抠门设备。需要检测某个应用在运行时的占用的最大内存,来帮助开发。
2024-10-11 16:02:58
253
原创 openharmony native c++文件读写
应用中读取文件路径为“/data/storage/el2/base/haps/entry/files”磁盘路径为“/data/app/el2/100/base/com.example.myapplication5/haps/entry/files/”此时能找到fileDir的具体路径,这个路径是openharmony定义的,和在物理磁盘的位置不同,如上获取到的路径为“/data/storage/el2/base/haps/entry/files”。你需要了解你的应用保存在磁盘的哪个路径,才能写对。
2024-09-05 17:14:51
678
原创 记录一次SD卡内存卡数据备份和恢复
a. 找到读卡器设备:通常情况下,存储设备可以通过 df -h查看,也可以通过 ls /dev/ 查看到,外接存储设备的名称为sda,sdb,sdc,依次类推,sda1,sda2...表示这个存储器的分区号。想要将原本的内存卡进行备份包括SD卡的分区情况也进行备份,否则不能正常启动,同时在不了解系统挂载的分区的名是什么的时候,将各个分区单独备份,然后使用烧录软件“STM32CubeProgrammer”进行烧录时也会产生不能启动系统的现象。但是,经过踩坑发现:“傲梅软件”备份后在恢复不能完整的恢复;
2024-08-28 10:51:24
695
2
原创 ThreadX(RTOS)在Ubuntu编译,并执行案例
此时在./build/samples/目录下能够看到samples_tx文件,这个文件是可执行的,由于是在linux下编译的三方OS,所以内部执行的输出通常使用串口获取到(猜测)。ThreadX在linux下编译后可以得到libthreadx.a文件,这个文件可以被链接到samples目录下的案例,并得到一个在Ubuntu上可直接运行的二进制文件。在编译时默认debug编译,所以可以进行断点调试,但是调试会出现"User defined signal 1/2"这类异常,原因未知。
2024-03-14 17:53:13
1138
原创 应用互斥:一次只能开启一个实例
最典型的应用是微信,它虽然不构成多个进程存在会报异常的问题。无论怎么操作都只能在一个环境下只有一个微信进程。main.cpp内容:代码结构解读从main->ACopyFileExt如果有互斥的量,则进程直接退出,如果没有则进程继续。效果:模拟一个进程长时间存在,然后在执行同一个执行文件,第二个进程直接退出,保证系统只存在一个执行实例。在真实应用中,经常需要一个可执行文件,只能产生一个进程,如果多次执行可能导致bug。这种操作可以用在进程间合作,也可用在进程互斥。如所见:就一个main.cpp。
2023-12-01 18:41:55
510
原创 windows 下gcc编译的软件获取管理员权限
如果是在vs20**系列的微软支持软件包,则可以直接在项目属性中声明,这个项目需要管理员权限运行,那么之后编译后的程序可以直接使用管理员权限运行了。但是还有一部分人群讨厌体态臃肿的VS 20**软件,更加喜欢gcc这列纯编译环境,然后使用类似于记事本的编辑环境,这类人群想要编译后的程序直接拥有管理员权限,应该如何操作。uac.rc包含的内容:这里的东西说明一下RT_MANIFEST这是一个宏,被winuser.h定义,感兴趣的可以跳转到winuser.h中查看。咱们这里就直接列出代码和项目,更为方便。
2023-11-27 14:17:12
1242
原创 python使用matplot库绘图颜色表
下面是字符串描述的颜色表。为了颜色间要有区分度。同时要求颜色比较明显,特意选择一些比较有代表性的颜色,以供使用(颜色由于个人需要,除去了红色和绿色)。matlpot的color参数可以是十六进制,也可以是颜色描述的字符串。
2023-08-11 16:51:27
2164
原创 python截取tkinter窗口
在python中有tkinter库可以做简单的界面,必要时需要保存当前窗口的显示信息,故需要截屏tkinter窗口的功能。
2023-05-06 11:23:04
481
转载 非线性优化--使用Ceres进行曲线拟合
【摘要】 非线性优化--使用Ceres进行曲线拟合 使用Ceres进行曲线拟合安装Ceres在程序中使用Ceres CMakeLists.txt配置进行曲线拟合Code 使用Ceres进行曲线拟合...
2022-12-21 10:13:24
369
原创 python输出编码不合法
当读取到不同文件或者内存空间采用不同的编码,输出到屏幕或者保存到字符串中遇到编码不合法的情况,如,UnicodeDecodeError: 'gbk' codec can't decode byte,可以参考本文。
2022-11-02 11:07:23
590
转载 已知平面上的三个点求该面的表达式
设 已知三点A(x1,y1,z1),B(x2,y2,z2),C(x3,y3,z3)已知3点坐标,求平面ax+by+cz+d=0;得出的abcd均在等式的一侧,如上表达式。法向量为同时垂直于这两个向量的一个向量。任意找在这个面的两个不平行的向量,利用叉乘可以直接得到。
2022-10-21 15:27:20
1308
原创 关于python plt使用说明
需要保存为png图片,使用以下代码即可,不过需要将 plt.show() 屏蔽掉.plt label 标签不起作用,是需要添加 ,并附上所有代码。2、 plt 的label 标签不起作用的情况。1、 函数拟合问题,测试的时候用到了就加上了。
2022-09-27 11:28:28
3035
原创 使用python中tkinter库显示图片点击按钮跳跳下一张图片
2、 按钮按下,或者上下左右键切换 显示上一张图片,下一张图片。在代码同级目录下新建一个png文件夹,将想要浏览的图片放入即可。3、 跳转按钮可以跳转到指定图片位置。4、 对图片评价并保存到文本中。代码结构简单就很少注释了,仅供个人娱乐学习。...
2022-08-19 10:02:55
4595
原创 c@简单实例
using System;public class HelloWorld{ static public void Main () { //Instantiating the Box class defined below Box myBox = new Box(); // Declare myBox of type Box myBox.setDimensions(6.0,7.0,5.0); double vo...
2022-05-30 17:08:54
727
原创 豆瓣电影前250
import requestsfrom bs4 import BeautifulSoupif __name__ == '__main__': headers = { 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit' + '/537.36 (KHTML, like Gecko) Chrome/57.0.2987.98 Safari/537.36' ...
2022-05-07 18:33:25
122
原创 关于qDebug的控制输出
常规的qt调试需要在应用程序栏输出调试信息,即,qDebug()<<...若很多地方都要有此类输出,当我们不想要某一类的输出时就需要一行一行的屏蔽,很不方便哦。此时我们可以定义一个宏,对不同的调试输出做控制。当不需要此类输出时屏蔽宏即可,不用每一个调试输出都进行屏蔽。有可以调试输出,也需要一个输出空的函数NullDebug。老规矩,上宏class NullDebug{public:template<typename T>NullDebug & oper
2022-04-13 14:59:47
1113
原创 Qt 定时器
在mfc框架中定时器采用settimer和killtimer系统API,很方便对定时器的管理。若将此逻辑放入qt时不太好用了。此时我们可以将定时器ID和超时使用自定义的类管理,达到和mfc类似的定时器使用方式。上代码timer.h#ifndef TIMER_H#define TIMER_H#include <QObject>#include <QMap>class Timer : public QObject{Q_OBJECTpublic:
2022-04-08 14:58:52
491
转载 Android service后台检测全局触摸事件
自转载:http://kpbird.blogspot.com/2013/03/android-detect-global-touch-event.html 侧栏和glvebox应用程序一夜之间就变得流行起来,因为只有一种功能。它们提供全局菜单,可以从移动屏幕的左右边沿打开。作为一名开发人员,当我展示这些应用程序时,我首先想到的是“NDK”。然后,我开始寻找解决方案。从逻辑上讲,我想如果我能...
2018-09-26 15:55:10
7827
4
原创 C语言实现一个图片的读出和写入
代码文件下载:点击打开链接#include <stdio.h>#include <stdlib.h>#include <windows.h>int file_size(char* filename)//获取文件名为filename的文件大小。{ FILE *fp = fopen(filename, "rb");//打开文件。 int size; ...
2018-05-29 22:43:48
41354
9
简单的webRTC学习过程
2025-07-04
C语言实现一个图片的读出和写入
2018-05-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人