腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
腾讯云架构师技术同盟
文章/答案/技术大牛
搜索
搜索
关闭
发布
首页
学习
活动
专区
工具
TVP
腾讯云架构师技术同盟
返回腾讯云官网
代码手工艺人
专栏成员
举报
45
文章
73504
阅读量
11
订阅数
订阅专栏
申请加入专栏
全部文章(45)
ios(17)
编程算法(16)
ide(11)
c++(7)
xcode(6)
打包(5)
swift(4)
linux(4)
serverless(4)
tcp/ip(4)
网站(3)
cocoa(2)
html(2)
单片机(2)
汇编语言(2)
sql(2)
eclipse(2)
api(2)
文件存储(2)
命令行工具(2)
开源(2)
hive(2)
https(2)
mac os(1)
iphone(1)
java(1)
python(1)
javascript(1)
css(1)
android(1)
arm(1)
数据库(1)
mvc(1)
git(1)
github(1)
unix(1)
spring(1)
NAT 网关(1)
海外加速(1)
腾讯云测试服务(1)
图像处理(1)
容器(1)
自动化(1)
爬虫(1)
shell(1)
jdk(1)
jvm(1)
ssh(1)
gcc(1)
socket编程(1)
数据结构(1)
网站建设(1)
nat(1)
channel(1)
diff(1)
frame(1)
packet(1)
sample(1)
shared(1)
std(1)
stream(1)
swap(1)
thread(1)
线程安全(1)
搜索文章
搜索
搜索
关闭
std::shared_ptr 的线程安全性 & 在多线程中的使用注意事项
shared
std
swap
thread
线程安全
在讨论之前,我们先理清楚这样的一个简单但却容易混淆的逻辑。 std::shared_ptr 是个类模版,无法孤立存在的,因此实际使用中,我们都是使用他的具体模版类。这里使用 std::shared_ptr 来举例,我们讨论的时候,其实上是在讨论 std::shared_ptr 的线程安全性,并不是 SomeType 的线程安全性。
JoeyBlue
2023-03-16
2.7K
0
C++ Lambda 本质 & 变量捕获
c++
ide
编程算法
serverless
C++ 11 引入 lambda 之后,可以很方便地在 C++ 中使用匿名函数,这篇文章主要聊聊其背后的实现原理以及有反直觉的变量捕获机制。在阅读本文之前,需要读者对 C++ lambda 有一个简单的了解。
JoeyBlue
2023-02-21
2K
0
C++ Postfix Completion VSCode 插件
ide
元旦假期无聊做了一个 VSCode 的插件,主要功能是对一些常用的场景进行补全,具体介绍可跳转到 GitHub 源码 或者 VSCode 扩展市场 VSCode extension Marketplace 浏览。
JoeyBlue
2023-01-08
597
0
LLVM 工具系列 - Address Sanitizer 实现原理(2)
编程算法
c++
ide
上篇文章 「Address Sanitizer 基本原理介绍及案例分析」里我们简单地介绍了一下 Address Sanitizer 基础的工作原理,这里我们再继续深挖一下深层次的原理。
JoeyBlue
2023-01-08
744
0
LLVM 工具系列 - Address Sanitizer 基本原理介绍及案例分析(1)
c++
打包
ide
LLVM 提供了一系列的工具帮助 C/C++/Objc/Objc++ 开发者检查代码中可能的潜在问题,这些工具包括 Address Sanitizer,Memory Sanitizer,Thread Sanitizer,XRay 等等, 功能各异。
JoeyBlue
2023-01-08
2.6K
0
C++ enable_shared_from_this 具体实现
ide
c++
C++ 中使用 std::shared_ptr 智能指针不当有可能会造成循环引用,因为 std::shared_ptr 内部是基于引用计数来实现的, 当引用计数为 0 时,就会释放内部持有的裸指针。但是当 a 持有 b, b 也持有 a 时,相当于 a 和 b 的引用计数都至少为 1,因此得不到释放,RAII 此时也无能为力。这时就需要使用 weak_ptr 来打破循环引用。
JoeyBlue
2022-11-21
1.1K
0
AArch64 学习(二) 函数调用 (Function Call Convention)
单片机
linux
汇编语言
本系列的第一篇 中介绍了 AArch64 的基础指令、进程内存布局以及基础栈操作 等. 本文该系列的第二篇, 主要聊聊函数调用, 涉及到的就是 Function Call Convention. 初衷还是尽可能 “浅入深出” 地 got 到语言背后的本质, 这不是一个手册, 所以不是完备的.
JoeyBlue
2022-06-06
1.4K
0
AArch64 学习(一) 基础指令, 内存布局, 以及基础栈操作
linux
单片机
汇编语言
arm
ide
ARM 是 高级-RISC(精简指令集)-机器 的缩写, 是精简指令集架构的家族. 同时 Arm Ltd. 也是开发和设计、授权这项技术的公司名称.
JoeyBlue
2022-06-06
2.6K
0
函数指针、函数对象、lambda 表达式、std::function
c++
serverless
编程算法
lambda 表达式内部会创建一个上面所说的函数对象, 不过是匿名的, 只有编译器知道类名是什么. lambda 可以捕获外部的变量, 都会转换为匿名函数对象的属性值来保存.
JoeyBlue
2022-05-19
1.2K
0
函数指针、函数对象、lambda 表达式、std::function
c++
serverless
编程算法
lambda 表达式内部会创建一个上面所说的函数对象, 不过是匿名的, 只有编译器知道类名是什么. lambda 可以捕获外部的变量, 都会转换为匿名函数对象的属性值来保存.
JoeyBlue
2022-05-18
730
0
深入理解 AudioUnit(二) ~ Mixing Unit & Effect Unit & Converter Unit
javascript
ios
本系列的 第一篇 中介绍到了 AudioUnit 中和系统硬件交互的 IO Unit, 以及如何使用它进行音频的采集和播放. 本文是该系列的第二篇, 将会介绍 AudioUnit 中另外 四类 非常重要的 AudioUnit: Mixing 、 Effect Unit 、 Converter Unit 以及 Generator Unit.
JoeyBlue
2022-03-30
1.2K
0
深入理解 AudioUnit(一) ~ IO Unit 结构和运行机制
ios
api
tcp/ip
Apple 平台上如果涉及到音频采集, 很难避开 AudioUnit 这个工具库, AudioUnit 是 Audio Toolbox 下的一套有年头的 C API, 功能相对也比较强大, 虽然苹果最近几年推出并逐渐在其基础之后完善了一套 AVAudioUnit 的 OC/Swift 的 API, 但 AudioUnit 依然有很广泛的使用, 而且了解这套 C API 也对理解 AVAudioUnit 内部的实现和使用有很大的帮助.
JoeyBlue
2022-03-30
2.7K
0
结合 AppRTC 源码分析 WebRTC 建立连接的过程
tcp/ip
nat
NAT 网关
网站
api
这两年来,WebRTC 越来越多地出现在人们的视野,在在线教育,在线医疗等领域的应用也越来越多。大家研究 WebRTC 的热情也越来越高涨,不过 WebRTC 的入门门槛个人觉得稍微有些高,特别是各种概念,比如 NAT 穿越,ICE,STUN,TURN,Signaling server等等,刚开始可能会觉得比较繁杂,不易理解。然后建立连接的整个过程,异步调用比较多,很容易搞混。那么这篇文章里我们会根据 WebRTC 的官方 demo AppRTC 的 iOS 版本来分析一下 WebRTC 从进入房间到建立音视频连接的过程,为了便于了解,我们本次的讨论不涉及到底层的具体实现。
JoeyBlue
2021-09-07
1.7K
0
iOS CoreAudio AudioStreamBasicDescription 音频格式概念简介
channel
frame
packet
sample
stream
AudioStreamBasicDescription 简称 ASBD,ASBD 是 CoreAudio 用来指定线性PCM格式,或者使用 CBR 编码的等大小声道的格式。如果使用的是 VBR,或者使用非等大小的 CBR,需要对每个packet独立设置 AudioStreamPacketDescription进行描述。
JoeyBlue
2021-09-07
1.6K
0
Linux/Unix 文件的 atime ctime mtime 属性
unix
html
Linux/Unix 系统会为每个文件保存一些时间戳信息,我们可以根据这些时间戳来判断文件什么时候被读取过,什么时候被修改过内容,以及什么时候被修改过文件的权限。以下是 atime,ctime,mtime 三个时间戳的介绍。
JoeyBlue
2021-09-07
6.6K
1
Powerline fonts & Nerd fonts 简介
编程算法
ide
mac os
作为程序员,和命令行打交道很频繁,设置一个赏心悦目的命行行 prompt 或者 Vim 的 status line 主题就很有必要了,不过一般这些漂亮的主题都会用到一些 icon 字符,这些 icon 字符一般的字体里是没有的,今天我们就来聊聊一些带有 icon 字符的字体。
JoeyBlue
2021-09-07
5.1K
0
FFmpeg avformat_find_stream_info() 函数源码解析
python
编程算法
html
先来看一下 avformat_find_stream_info() 的头文件里的注释对该函数的介绍,本文我们基于 FFmpeg n4.2 版本的源码分析。
JoeyBlue
2021-09-07
2.7K
0
Karabiner-Elements 之 介绍和使用(part 1)
编程算法
命令行工具
xcode
Karabiner-Elements (下面我们简称为Karabiner)官网对自己的描述是 “A powerful and stable keyboard customizer for macOS.”,我使用下来的感受是 Karabiner-Elements 是 macOS 平台上一款非常强大的键位映射工具,没有吹嘘的成分,买家秀和卖家秀是一样的。
JoeyBlue
2021-09-07
8.5K
1
WWDC 21 - 使用 AVQT 评估视频质量
腾讯云测试服务
文件存储
编程算法
命令行工具
AVQT 是 Advanced Video Quality Tool 的缩写,是苹果在 WWDC 21 上推出的一款评估视频感知质量的工具。
JoeyBlue
2021-09-07
2K
0
WWDC 21 - 探索使用 VideoToolbox 进行低延迟视频编码
图像处理
文件存储
低延迟编码对于很多视频app来说都很重要,特别是对实时音视频场景。苹果在 WWDC 2021 在 VideoToolbox 里推出了一种新的低延迟编码模式。低延迟编码模式的主要目的是为实时通讯场景优化现有的编码流程。
JoeyBlue
2021-09-07
2.7K
0
点击加载更多
社区活动
Python精品学习库
代码在线跑,知识轻松学
立即查看
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
立即体验
技术创作特训营·精选知识专栏
往期视频·干货材料·成员作品 最新动态
立即查看
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档