- 博客(33)
- 资源 (7)
- 收藏
- 关注
原创 macOS上如何应对崩溃问题
这是前一篇文章https://blog.youkuaiyun.com/LGYXDN/article/details/118215454 的超集。macOS上进程崩溃时生成dump文件 首先确保/cores目录存在,并且有相应权限 进程开启写dump 内存问题 sanitizer 工程配置中会涉及到场景 malloc特性 使用开源的 Valgrind 参考macOS上进程崩溃时生成dump文件macOS系统上,程序发生崩溃的时候,默认会生成一个.crash文件。...
2021-09-09 11:40:38
2518
1
原创 macOS上进程崩溃时如何生成dump文件
文章目录正文首先确保 `/cores` 目录存在,并且有相应权限另外,还需要进程开启写dump参考正文macOS系统上,程序发生崩溃的时候,默认会生成一个.crash文件。如果想要更多的信息我们需要core dump。默认macOS系统有一个目录 /cores,但是需要app/exe开启dump功能,才会在这个目录下生成对应的core dump文件。方法如下:首先确保 /cores 目录存在,并且有相应权限ref:Core Dumps,有些信息过期了,比如现在10.15.6上面没有 /etc/l
2021-06-25 11:31:51
2892
原创 【WebRTC】中的线程
文章目录rtc::Thread类rtc::PlatformThreadrtc::Thread::ScopedDisallowBlockingCalls同步调用异步调用rtc::Thread类代码位于:WebRTC\src\rtc_base\thread.h/.ccrtc::Thread类继承了一个消息队列,可以做抛任务的工作,比较灵活。class RTC_LOCKABLE Thread : public MessageQueue { ...}rtc::PlatformThread这个线
2020-12-28 10:31:13
1147
原创 多核心CPU并行编程中为什么要使用内存屏障 memory barriers / 内存栅栏 memory fence
文章目录前言现代Intel® CPU架构指令集:CISC & RICSIntel各个时期的CPU微架构(microarchitecture)特点P6 Family Microarchitecture(1995-1999)Intel NetBurst® Microarchitecture(2000)Intel® Core™ Microarchitecture (2006-2007)现代CPU...
2020-11-28 17:04:38
1659
原创 Vol3 Chapter 8 多核处理器管理
文章目录Chapter 8 多核处理器管理Guaranteed Atomic Operations (可靠的原子操作)Bus Locking (总线锁定)自动锁定软件控制内存顺序Intel® Pentium® and Intel486™ 处理器中的内存顺序P6和最近处理器家族的内存模型参考Intel 64和IA-32架构软件开发者手册 Vol 3A部分内容学习摘要。Chapter 8 多核处理...
2020-11-28 17:04:24
283
原创 Vol3 Chapter 11 缓存控制
相关术语IA-32处理器(从奔腾处理器开始)和Intel 64处理器使用MESI缓存协议来维护缓存一致性。当处理器发现要一个读取操作是可以缓存的,那么就会一次性地读取一个缓存行的数据到相应的缓存中(L1/L2/L3/全部),这个叫做填充缓存行(cache line fill).如果处理器下一次要访问的操作数正好在缓存中,那么处理器就不需要去访问内存,而是直接快速地从缓存中访问,这叫做缓存命中...
2020-11-28 17:04:05
1485
原创 《OpenGL编程指南》学习笔记
文章目录概述标准代码练习环境正文相关概念OpenGL渲染管线生成 glGen*绑定 glBind*释放 glDelete*有效性判断 glIs*载入数据着色器禁用和启用状态测试着色器注释风格基本数据类型命名变量的作用域类型转换聚合类型向量/矩阵中元素的访问结构体数组存储限制符语句操作符控制函数计算的不变性预处理器编译器选项数据块接口uniform块布局控制uniform中访问uniform变量应...
2020-11-28 17:03:11
2601
原创 【屏幕分享】WebRTC中的实现
文章目录前言Windows平台屏幕采集应用采集Mac平台屏幕采集应用采集前言WebRTC中桌面采集Desktop Capture总体上分为两类:屏幕和窗口,分别对应下面两个类型屏幕捕获 - webrtc::DesktopCapturer::CreateScreenCapturer (静态方法)窗口捕获 - webrtc::DesktopCapturer::CreateWindowCapturer(静态方法)Windows平台屏幕采集Windows上使用CreateRawScreenCapt
2020-11-28 17:01:17
3187
1
原创 macOS 11 & M1(Apple Silicon) 带来的变化
文章目录macOS 11 - 操作系统App Clip 应用剪辑WidgetKitiPad代码迁移到macOSFrameWork开发工具Apple Silicon 苹果的“硅晶体” - CPU参考最后macOS 11 - 操作系统Get ready for macOS Big Sur简介一般来说只要在arm64架构上重新编译老的代码就可以将app、lib、framework、plug-ins等移植到新的硬件中;除非是依赖于特定的硬件细节,或者需要利用底层硬件特性才需要特别地修改代码。Human I
2020-11-16 10:06:30
2604
1
原创 macOS上Screen Record权限的问题
屏幕捕捉权限检测#include <AppKit/AppKit.h>#include <libproc.h>bool isScreenRecordingEnabled(){ if (@available(macos 10.15, *)) { bool bRet = false; CFArrayRef list = CGWindowListCopyWindowInfo(kCGWindowListOptionAll, kCGNullWin
2020-10-29 20:56:30
2903
原创 Windows上发生异常时抓取dump
文章目录正文RaiseException函数捕获大部分崩溃 - SetUnhandledExceptionFilter那还有小部分呢?为什么调试器可以抓到所有崩溃?CRT, C++ STL, 系统API之间的关系CRT中几个重要的函数退出进程的函数: abort() vs exit() vs terminate()terminateabortexit没什么用的 set_unexpected_set_purecall_handler_set_error_mode进程内捕获异常 VS 进程外捕获异常理一下思路测
2020-10-27 09:35:40
5022
原创 应用分享相关功能+代码片段
获取窗口是否是最小/大化的: WINDOWPLACEMENT wp = { sizeof(WINDOWPLACEMENT) }; for (auto wnd : wnds) { if (wnd == captured_wnd_) { continue; } if (GetWindowPlacement(wnd, &wp) && wp.showCmd != SW_HIDE && wp.showCmd != SW_MINIMIZE) { wn
2020-08-13 19:20:09
1397
2
原创 C++ 虚继承以及内存布局
文章目录什么时候用到虚继承虚基类的初始化虚基类的成员调用几种虚继承虚继承与访问控制的关系几个问题看一个例子,观察虚继承对象内存结构reference本篇源码部分来自clang,部分来自《C++程序设计语言 4th》的21章。本篇是在学/复习虚继承的相关概念,发现这个一般用不到的概念还是有很多东西没有理解了的。什么时候用到虚继承有的时候,在类设计上,将数据、接口放在了基类中,就可能会产生了菱形继承结构。比如:class Storable {public: Storable(const st
2020-06-11 16:52:38
666
原创 Qt Creator for Mac:升级Xcode导致工程编译出错
工作使用的开发环境是Mac + Qt Creator 5.9.7,前段时间脑子发热想要升级Xcode,于是从Xcode 10.2升级到Xcode 13.1,升级之后发现打开原来的Qt Creator项目编译出错了,主要有两个错误:项目中使用了libstdc++.6.0.9,但是Apple早就想把这个库换到libc++了,所以新的MacOS SDK中没有这个库了。编译出错,提示找不到sdk,我...
2020-05-08 15:51:36
1437
原创 专题:C++中的异常处理
一篇原来发在网易博客的文章怎样才能成为专家?在我涉足过的所有领域,答案都一样:1. 掌握基础知识。2. 将相同的内容在学习一遍,但这一次,请将你的注意力集中在细节上----这些细节的重要性,你头一次可能并没有认识到。Herb Sutter理解处理异常的意义,异常出现的几种主要情形,异常处理的一般做法,几种表现形式和相关的规范,和如何自定义异常,以及异常对效率的影响。...
2020-04-23 15:36:02
313
原创 专题:C++中操作符的重载
一篇老文章,原本在网易博客的,结果博客关停了。 操作符重载涉及到一些类设计方面的东西,同时也有C++中名字搜索等。 下面是C++标准中说明的可以被重载的操作符:new delete new[] delete[]+ - * / % ˆ & ...
2020-04-23 15:32:07
253
原创 objc_sendMsg函数原型修改了
升级Mac系统到10.15.1之后,发现有一处代码编译不过。发现是使用了objc_sendMsg,但是在2019.10左右,Mac OS X系统中把这个方法原型修改了。原本是带参数的,现在直接改为void objc_sendMsg(void)了。但是,仍然可以传参数。具体参考 :objc_msgSend’s New Prototype 这篇文章介绍了为什么能改变函数原型Casting Obje...
2020-02-27 22:15:08
372
原创 《WebRTC权威指南》学习笔记
第一章 Web实时通信技术介绍相关协议:SIP(RFC3261),Jabber(RFC6120),Jingle(XEP-0166),实时传输协议RTP,安全RTP(SRTP),多路复用RTP控制协议(RTCP)。相关概念:可扩展消息现场协议(XMPP [RFC6120] 也就是Jabber)服务器,Jingle客户端,公告电话交换网PSTN。注:这里就碰到第一个问题:如何掌握这些通信协议的问...
2020-02-24 00:13:06
1744
原创 WebRTC的资料汇总
文章目录简介资源标准相关开源工程:相关活动 & 会议背景编译疑问简介WebRTC是谷歌的一套开源工程。WebRTC之父是 Daniel C. Burnett。资源官网地址 WebRtc,GitHub地址WebRTC中文网,里面有许多知识性很强的文章,由国内声网运营,里面有比较系统的web通信技术文章,声网在2019.10也成了W3C的会员了。Stackoverflow上web...
2020-02-24 00:12:22
256
原创 Swift语法学习笔记
[D.2]对Swift语法整理的非常好,这里主要基于这个文档提取出Swift相对于C/C++,Objective-C而言相对突出的语法。不需要(加上也没错)在语句结尾加分号了(这个习惯可能改起来比较麻烦);与此同时,两个语句最好要写两行了~,非要写在一行的话,就要添加分号来分割了。原生类型(值类型)BoolInt Int8 Int16UInt UInt8 ...
2019-12-23 14:26:30
212
原创 Objective-C 属性特性
Objective-C 2.0 Xcode4.2之后,Objective-C新添加了一项特性:property在property中声明有3类特性,这里归纳一下:先给个模板:@property (多线程特性,读写特性,内存管理特性)多线程特性可选项:nonatomic,atomic默认是nonatomicnonatomic非原子性访问,不加同步,多线程并发访问会提高...
2019-12-19 10:26:37
206
原创 Widget-based程序中集成QML要考虑的几点问题
文章目录Widget(C\++)中集成QML加载qml文件Widget(C\++)调用QML对象方法调用function触发QML的signalWidget(C\++)读写QML对象属性QML中使用C++扩展支持QML扩展的自定义C\++类QML中的signal触发,调用C\++方法QML中调用QML、JSQML使用自定义QML模块QML中使用JSQML的signal绑定QML的方法QML的sig...
2019-12-18 16:26:27
379
原创 QML入门
文章目录QMLQML是什么Qt QML是什么Qt Quick是什么Qt Quick CompilerQML engine是什么[Qt Quick] vs [Qt Quick 2]QML可否像动态语言一样运行时加载执行qbs是什么qmlscene是什么Qt Quick UI Forms(.ui.qml file) and QML(.qml file)基于QWidget的UI程序如何集成Qt Quic...
2019-12-18 16:24:29
2562
翻译 Windows授权---Windows Authorization
授权目的 Purpose授权是指使用系统以及系统中的数据的权利的赋予。授权一般由系统管理员设置、并由计算机根据用户的身份,比如代码数字、密码,来进行区分。微软的授权包括授权管理和授权API两部分。面向的开发者受众 Developer audience微软的授权技术是为那些基于Windows Server和控制访问资源的操作系统开发应用程序的开发者设计的。开发者需要熟悉Wi...
2019-11-16 11:16:31
2808
原创 Qt 问题合集
1. 使用QTreeView还是QTreeWidget,参考QTreeView or QTreeWidget 简单说,就是前者基于可定制的Modal/View模型,后者虽然也是如此,但是内置了这个功能,定制性不强。 Mac下开发GUI,目前有两种方案,一个是QML Graphical User Interfaces,一个是Widget-based User Interfaces...
2019-10-12 10:44:50
453
原创 C++模板编程 -- 类模板
文章目录概述带默认模板实参的情形 (Default Template Arguments)特化与偏特化偏特化 (Partial Specialization)特化 (Specializations)写模板一定会过的坎 -- 链接错误概述C++中使用类模板一般的格式是:template<typename T, ...>class TemplateClass { ...}...
2019-09-10 20:31:54
830
原创 ffmpeg入门
文章目录ffmpeg中的主要模块AVFormatAVCodecAVFilterswscaleswresampleavutil 工具函数模块播放器ffplayffprobe 多媒体分析工具接口使用音视频封装(muxing)音视频解封装(demuxing) 或者叫 **分离**音视频转封装(remuxing)视频截取avio内存数据操作音视频编解码视频滤镜硬件加速VAAPI (Video Accele...
2019-09-04 13:55:57
565
原创 ffmpeg相关资料
文章目录本文介绍学习音视频通信、及ffmpeg相关的知识点Mac上手动编译ffmpeg示例代码视频电子书文档网站博客工具相关标准化组织相关专业以及参考资料直播测试流常见格式本文介绍学习音视频通信、及ffmpeg相关的知识点Mac上手动编译ffmpegffmpeg使用了make来维护代码,所以不能使用cmake gui这类可视化的工具来编译。在Mac上编译的话比较简单,可以使用brew帮忙下...
2019-09-04 13:54:30
493
原创 多线程编程 — 使用C++标准库
文章目录概述分述thread用法锁和条件变量的用法互斥量锁的类型避免死锁的建议数据初始化阶段的保护条件变量和future范式条件变量future范型promise的用法std::async的用法std::pakaged_task的用法shared_future参考资料概述作为C++标准库终于在11标准中加入了多线程库。这为C++的跨平台开发提供了一个利器。C++11中的多线程编程,涉及到的概...
2019-09-04 13:52:19
1392
原创 在C# + Access + ADOX环境下创建数据库和数据表
首先在COM选项卡中选择添加:Microsoft ActiveX Data Objects 2.8 LibraryMicrosoft ADO Ext. 2.8 for DDL and Security并在代码窗口中,添加using ADOX; 创建数据库 ADOX.CatalogClass catalog1 = new CatalogCl
2009-06-09 18:32:00
2984
原创 Access中用ADOX的方式创建表时,用到数据类型的注意事项
ADOX提供的数据类型并不是数据库都会支持的,比如我用 ADOX.Column column6 = new Column(); column6.Type = DataTypeEnum.adLongVarWChar;//这句不能少,并且位置必须在其它属性前面,否则会报错。 column6.Name = "Q
2009-05-16 00:22:00
2571
2
Shared Memory Consistency Models A Tutorial.pdf
2021-09-14
OpenGL 4.3 Compatibility.pdf
2020-03-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人