C++
文章平均质量分 67
无边风月-风之羽翼
这个作者很懒,什么都没留下…
展开
-
【自记录】VS2022编译OpenSSL1.0.2u
因为突然要编译一个老工程,老工程里面用到了OpenSSL 1.0.x。于是下载了最后一个1.0.x版本1.0.2u。原创 2024-03-19 09:37:31 · 854 阅读 · 0 评论 -
QWebEngine支持嵌入包含WebRTC的网页
QWebEngine支持嵌入包含WebRTC的网页的全过程原创 2022-12-29 11:12:56 · 1347 阅读 · 0 评论 -
libwebsockets配置使用libuv循环
自用,方便后续回想。由于我们的数据收发使用libuv,因此希望websockets的接入也在uv线程上执行,避免多线程互相干扰。原创 2022-12-29 10:30:28 · 787 阅读 · 0 评论 -
也谈GB28181码流收发
1.前置文章PS封装格式:GB28181协议RTP传输H265的国标PS流打包这两篇文章里面有的就不细说了2.原创 2021-10-13 20:24:27 · 782 阅读 · 0 评论 -
LinuxX86中打印堆栈的简易使用说明
在某些多路径的函数(例如退出),我们希望通过在日志中打印堆栈,确认调用途径,以定位一些奇怪的业务逻辑问题。在Linux中,我们可以使用backtrace函数进行追踪。*Android不支持此方法1.使用示例*以下代码节选自backtrace的manint j, nptrs;void *buffer[100];char **strings;nptrs = backtrace(buffer, 100);strings = backtrace_symbols(buffer, nptrs);if原创 2020-10-09 15:00:55 · 238 阅读 · 0 评论 -
CentOS7编译Janus
Janus官网地址本次编译使用的Janus版本为0.7.41.需要准备的组件yum install libconfig libmicrohttpd libconfig-devel libmicrohttpd-devel按照官方的说明,准备以下开源库编译Jasnsson 最新版本 2.12 libsrtp 最新版本 2.2.0 gengetopt 2.23 注意Bina...原创 2019-11-15 10:42:50 · 821 阅读 · 0 评论 -
gperftools检查内存泄露/越界等问题的简易说明
大名鼎鼎的Google的内存检查工具1 编译Gperf本身库的编译没啥好说的,标准流程,需要automake支持./autogen.sh./configuremake && make install2 编译应用程序在实际工程的Makefile中添加LIB库依赖.一般来说 -ltcmalloc就可以了如果需要使用Profiler的功能,那么用 -ltcmalloc...原创 2019-06-26 11:30:57 · 1247 阅读 · 0 评论 -
windbg使用技巧
dt -v DMS_Server!DataRow 376c4b58+8 转存出数据结构dt -s 4c -n DMS_Server!* 查找结构体大小回答本文标题中的问题, 步骤如下:第一步, 开启日志记录:.logopen d:\output.txt第二步, 运行你想要输出到文本文件中的命令:address第三步, 关闭日志记录:.logclo原创 2012-11-27 10:22:59 · 569 阅读 · 0 评论 -
NDK移植编译&心得&ADB/GDB简单应用
I. 基本流程1.设置环境变量建议去官网下载最新版本的NDK,老版本很多宏定义缺失,比较麻烦。同时,之前用android-ndk-r10d,需要安装32位库环境。yum install libstdc++-devel.i686yum install libzip.i686 #!/bin/bash# environment settingexport ANDROID_NDK_PATH=/opt/...原创 2017-06-02 17:33:23 · 1842 阅读 · 2 评论 -
openssl-1.0.2m+VS2013编译
前置条件: 1)安装Perl2)下载安装nasm,并配置到环境变量中 www.nasm.us3)使用“VS2013 x86 本机工具命令提示”进入控制台perl Configure VC-WIN32ms\do_nasmnmake -f ms\ntdll.mak结果在out32目录和inc32目录中。原创 2017-11-03 11:17:24 · 460 阅读 · 0 评论 -
live555+VS2013编译
1.下载官网 live555 2018.4.25版本2.修改win32config文件删除或注释此行!include <ntwin32.mak>修改TOOLS32,指向你的VC安装目录TOOLS32 = C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC修改LINK这行LI...原创 2018-06-13 12:26:09 · 412 阅读 · 0 评论 -
CEF3在CentOS7.2上编译、运行
1. 前言CEF 官方提供了Ubuntu的编译认证,对于CentOS没有特别说明。基于最新的二进制编译结果进行编译集成,测试没啥问题,特此记录1.事先准备CEF最新版本nss最新版本发行版镜像YUM源本次实验对应的版本:cef_binary_3.3497.1834.g0a87d5f_linux64.tar(本次实验对应的Chrome 69版本)nss-3.39-with-nspr...原创 2018-10-10 15:40:56 · 4285 阅读 · 33 评论 -
GnuGK负载均衡/主备配置
1. 样板配置文件[Gatekeeper::Main]Fortytwo=42Name=gk0TimeToLive=600CompareAliasType=0CompareAliasCase=0TotalBandwidth=-1TraceLevel=2Home=10.35.41.196RedirectGK=Endpoints>200AlternateGKs=10.35.1...原创 2019-01-17 15:22:44 · 815 阅读 · 0 评论 -
stl中一些冷门的函数
最近在走读webrtc代码,碰到一些比较冷门的STL 的API,特此记录。1. std::enable_ifC11新特性,简单的说,就是模板中,根据K值的结果,确定使用的函数。int main(){ int a = 128; vector<string> s = { "today", "is", "Saturday" }; show(a); show(s);...原创 2019-07-03 16:42:44 · 925 阅读 · 0 评论 -
AAC ADTS格式分析
1.ADTS是个啥ADTS全称是(Audio Data Transport Stream),是AAC的一种十分常见的传输格式。记得第一次做demux的时候,把AAC音频的ES流从FLV封装格式中抽出来送给硬件解码器时,不能播;保存到本地用pc的播放器播时,我靠也不能播。当时崩溃了,后来通过查找资料才知道。一般的AAC解码器都需要把AAC的ES流打包成ADTS的格式,一般是在AAC转载 2017-02-08 10:59:39 · 301 阅读 · 0 评论 -
QT5.5.0 VS2013/CentOS 7自编译
因为使用了CEF框架,不需要使用QtWebkit开始菜单 -> Visual Studio 2013->Visual Studio Tools -> VS2013 x86 本机工具命令提示configure -prefix %CD%\qtbase -opensource -nomake tests -nomake examples -confirm-license -release原创 2015-09-18 17:24:05 · 523 阅读 · 0 评论 -
VC Win7/Vista提权
bool UpPrivilege() { HANDLE hToken; // handle to process token TOKEN_PRIVILEGES tkp; // pointer to token structure boo转载 2012-12-06 17:28:27 · 743 阅读 · 0 评论 -
Unicode环境下使用Gsoap的总结
使用的版本为2.7.12,据说2.7.14有些BUG生成代码:1.生成.h文件,因为要用到2个WebService,所以一定要这样拼接。wsdl2h -o UCCService.hhttp://localhost:808/uccservice/services/TestService?wsdlhttp://192.168.1.111:801/webservice/servi原创 2012-12-17 22:06:10 · 1026 阅读 · 0 评论 -
do-while-0-在宏定义中的作用
如是:在很多时候我们会用到宏定义,但对其中的技巧用的多总结的少,比如在宏定义中使用do-while语句。 [plain] view plaincopy#define dictSetHashVal(d, entry, _val_) do { \ if ((d)->type->valDup) \转载 2012-12-17 22:15:16 · 464 阅读 · 0 评论 -
Linux C++利用openldap实现ldap客户端
1.编译由于我们不需要服务端,屏蔽掉服务端的编译,可以跳过很多依赖。./configure --prefix=/opt/openldap --enable-slapd=no --enable-backends=no --enable-overlays=no后面就是按照INSTALL上的来:make dependmakemake testmake instal原创 2015-02-28 16:45:10 · 1165 阅读 · 0 评论 -
vls0.5.6在centos下编译
vls在centos下编译转载 2015-04-09 10:40:39 · 427 阅读 · 0 评论 -
Windbg查看死锁实例
首先当然是看主线程的锁的情况0:155:x86> ~0 kbChildEBP RetAddr Args to Child 0018d274 77858e44 00000fc0 00000000 00000000 ntdll_77820000!ZwWaitForSingleObject+0x150018d2d8 77858d28 00000000 0000000原创 2015-06-17 17:29:57 · 1653 阅读 · 0 评论 -
4-Gigabyte Tuning: BCDEdit and Boot.ini
On 32-bit editions of Windows, applications have 4 gigabyte (GB) of virtual address space available. The virtual address space is divided so that 2 GB is available to the application and the other 2 G转载 2015-06-08 20:27:12 · 558 阅读 · 0 评论 -
如何在应用程序中集成V8 JS引擎
IntroductionChromium and CEF use the V8 JavaScript Engine for their internal JavaScript (JS) implementation. Each frame in a browser window has its own JS context that provides scope and securit转载 2015-07-24 09:11:14 · 2863 阅读 · 0 评论 -
CEF-GeneralUsage
This Wiki page provides an overview of CEF3 and general usage information.Note to Editors: Changes made to this Wiki page without prior approval via the CEF Forum or Issue Tracker may be lost or revert转载 2015-07-24 09:13:47 · 2080 阅读 · 0 评论 -
CEF-Architecture
This Wiki page provides an overview of the CEF architecture.Note to Editors: Changes made to this Wiki page without prior approval via the CEF Forum or Issue Tracker may be lost or reverted.Background转载 2015-07-24 09:14:49 · 1152 阅读 · 0 评论 -
CEF-JavaScriptIntegration
This Wiki page explains how to use V8 JavaScript integration in client applications.Note to Editors: Changes made to this Wiki page without prior approval via the CEF Forum or Issue Tracker may be lost转载 2015-07-24 09:15:33 · 1426 阅读 · 0 评论 -
DirectX截图黑屏的解决办法
为什么会黑屏?一句话概括,黑屏是由于DDraw加速引起的!先说一下DirectX的显示原理,通常我们看到的屏幕上的数据,都是通过Primary Surface送至显示器的,什么是Primary Surface呢?中文叫做主显示表面,也就是说我们当前看到的屏幕上的图像数据是从这个表面来的,除了主表面意外还有离屏表面,叫做OffScreenSuface。这种表面中的数据是不直接显示在屏幕上的。转载 2015-09-10 11:12:22 · 3389 阅读 · 0 评论 -
Centos7 下 ffmpeg +x264 +x265+ libva(intel) 编译
最近在CentOS7 下编译了FFMpeg,整理了下过程:1.依赖库整理: libffi-3.0.13-11.el7.x86_64.rpm libffi-devel-3.0.13-11.el7.x86_64.rpm libdrm-2.4.56-2.el7.x86_64.rpm libdrm-devel-2.4.56-2.el7.x86_64.rpmexpat-2.1.0-8.el7.x86原创 2015-10-26 16:39:34 · 7584 阅读 · 0 评论 -
Umdh使用
1. 生成Symbol文件, VC下面PDB文件, 编译生成PDB2. gflags /i 程序名 +ust或者 gflags 打开图形界面 Image File 输入进程名 按Tag 选上 Create user mode stack trace database 3. 启动应用程序在_NT_SYMBOL_PATH 起作用的环境下面 启动应用程序start /d原创 2012-11-27 10:21:40 · 1030 阅读 · 0 评论