腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
TechBox
专栏作者
举报
86
文章
666202
阅读量
39
订阅数
订阅专栏
申请加入专栏
全部文章
ios
编程算法
其他
存储
objective-c
网站
数据结构
mac os
swift
xcode
c++
数据库
ide
reactnative
https
iphone
java
单片机
汇编语言
云数据库 SQL Server
sql
打包
git
github
api
人工智能
数据分析
windows
cocoa
c 语言
php
javascript
ruby
bash
react
node.js
html
arm
linux
unix
bash 指令
数据加密服务
渲染
http
网络安全
ssh
sql server
面向对象编程
tcp/ip
gcc
架构设计
nat
应用安全开发
add
auto
count
having
image
increment
key
limit
png
rename
select
table
truncate
unique
搜索文章
搜索
搜索
关闭
利用Clang探究block捕获外部变量的本质(一)
编程算法
c++
objective-c
我们知道,Objective-C的block会捕获自动变量。在计算机编程领域,自动变量(Automatic Variable)指的是局部作用域变量,即局部变量。相对于全局变量。如下,在main函数中声明一个局部变量val = 1;block中打印val的值,然后在执行block前修改val = 2;, 但是block依旧输出1。这就是所谓的block会捕获自动变量。 本篇文章主要探究block捕获局部变量的底层原理。除去函数参数外,关于block和静态变量、全局变量、静态全局变量的关系将在后面的文章展开讨论。
VV木公子
2019-11-12
7.8K
0
利用Clang探究__block的本质
c++
objective-c
编程算法
上一篇文章利用Clang探究block的本质得出的结论是block的本质是一个结构体对象,该对象包含调用block时要执行的函数指针。当我们在Objective-C层面调用block的时候,底层就可以通过调用block对应的C++结构体对象的函数指针来实现同等操作。
VV木公子
2019-11-04
7.3K
0
利用Clang探究block的本质
c++
objective-c
编程算法
block作为Objective-C语言中的一种特殊的存在,已经为大家所熟知。在其他语言中,也有类似于block的实现,比如JavaScript和Swift中的闭包,python中的lambda匿名函数。本篇文章主要讲解利用编译器前端clang来探究block的本质。关于clang的介绍请移步到LLVM简介和Objective-C源文件编译过程。
VV木公子
2019-10-22
7.2K
0
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
立即发文
Python精品学习库
代码在线跑,知识轻松学
立即查看
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
立即体验
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
立即查看
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档