`
woainike
  • 浏览: 79130 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
最近访客 更多访客>>
社区版块
存档分类
最新评论

xcdoe4.2中,通过ARC来编译,总会遇到一些问题,比如原先使用c语言模块

 
阅读更多

很多时候,在使用Automatic Reference Counting的是时候,会提示一些很陌生的的错误提示,特别是使用conver to arc后,

 

比如bridged cast 

给你的c代码上面加个_bridged。

 

这里面有个详细的描述,

 

bridged cast is a C-style cast annotated with one of three keywords:

  • (__bridge T) op casts the operand to the destination type T. If T is a retainable object pointer type, then op must have a non-retainable pointer type. If T is a non-retainable pointer type, then op must have a retainable object pointer type. Otherwise the cast is ill-formed. There is no transfer of ownership, and ARC inserts no retain operations.
  • (__bridge_retained T) op casts the operand, which must have retainable object pointer type, to the destination type, which must be a non-retainable pointer type. ARC retains the value, subject to the usual optimizations on local values, and the recipient is responsible for balancing that +1.
  • (__bridge_transfer T) op casts the operand, which must have non-retainable pointer type, to the destination type, which must be a retainable object pointer type. ARC will release the value at the end of the enclosing full-expression, subject to the usual optimizations on local values.

These casts are required in order to transfer objects in and out of ARC control; see the rationale in the section on conversion of retainable object pointers.

Using a __bridge_retained or __bridge_transfer cast purely to convince ARC to emit an unbalanced retain or release, respectively, is poor form.

 

 

其实,你在apple llvm 的提示下面应该就能看到一些消息的描述,主要是说retain,这里面的bridge有unretained 和retained两种,说到这里面大家应该知道retain的含义了。

 

 

先写到这。

 

其实在这里面,跟多的是一些警告,让我决定很烦。

比如隐式转换,和显示转换。

分享到:
评论

相关推荐

    用C语言实现ARC圆弧插补计算

    在本主题中,我们将深入探讨如何使用C语言来实现ARC圆弧插补计算。C语言由于其高效、灵活和广泛的应用,是编写这种底层控制程序的理想选择。 首先,圆弧插补的基本概念是将一个完整的圆弧分割成若干小线段,然后...

    c语言编译环境Turboc2.0.zip

    4. **EXAMPLES.ARC**:顾名思义,这是一个包含示例代码的压缩文件,初学者可以通过阅读和运行这些例子来学习C语言的各种语法和编程技巧。 5. **MATHERR.C, GETOPT.C, SSIGNAL.C**:这些都是C语言的源代码文件,分别...

    基于C语言的ARC比赛开发版本设计源码

    整体源码共计250个文件,其中包含54个PNG图片文件、22个头文件、22个数据文件、22个Python脚本文件、20个C语言头文件、15个mkdir_done文件、13个Python编译文件、11个C语言源文件、8个批处理文件、8个项目文件以及...

    ARC完全学习指南

    尽管ARC会自动管理大部分内存,但在某些情况下,比如在异步操作或者某些特殊框架中,仍然需要使用AutoreleasePool来管理临时对象的生命周期。 12. ARC与Auto Release Pool的关系: 开发者可以使用ARC来管理...

    电子时钟(c语言课程设计)

    9. 数字时钟处理模块:该模块允许用户修改当前时间,通过按Tab键定位需要修改内容的位置,然后通过按光标上移(↑)或下移(↓)键来修改当前时间。 10. bioskey()函数:该函数是一个键盘接口函数,用于获取用户的...

    tc20 学习c语言必备

    标题中的"tc20 学习c语言必备"暗示了这是一个关于使用TC(Turbo C)2.0版本学习C语言的资源集合。Turbo C是Borland公司推出的一款经典的C编译器,尤其在早期的个人计算机编程教育中非常流行。这个压缩包可能包含了...

    ARC和非ARC模版宏定义和使用

    这篇文档将深入探讨这两种模式以及它们在实际项目中的应用,并通过SingletonTemplate这个xcode工程中的实例来阐述宏定义和使用。 首先,让我们理解什么是ARC。ARC是Xcode 4.2引入的一个特性,它自动跟踪对象的生命...

    C语言实现的电子相册.zip

    本文将深入探讨如何在Visual Studio 2013环境下,使用C语言结合easyX图形库来实现一个电子相册。easyX是一个为简化C语言图形编程而设计的库,它提供了一系列简便的函数,使得开发者可以轻松地在Windows平台上进行...

    C语言图形函数介绍,希望对学习和使用C语言的人有用

    在C语言中使用SDL可以创建复杂的2D和3D图形,它提供了丰富的API,如`SDL_Init()`,`SDL_CreateWindow()`,`SDL_Renderer`和`SDL_Texture`等,来管理窗口和渲染图形。 - **Allegro** 是一个专为游戏开发设计的库,...

    ARC文件解压缩工具PKXARC

    然而,通过特定的工具,比如"PKXARC",仍然可以对ARC文件进行解压缩。 "PKXARC"是一个专门用于处理ARC文件的工具,它允许用户打开、查看和提取ARC压缩包中的内容。这个程序的使用至关重要,因为没有它,那些包含ARC...

    c语言基本作图函数使用课件

    《C语言基本作图函数使用详解》 C语言虽然本身并不直接支持图形界面,但通过扩展库,如Borland的Graphics.H库,我们可以利用C语言进行简单的图形绘制。华中科技大学的C语言课程深入讲解了如何利用这些图形函数进行...

    ARC CPU 编程手册

    《ARCv2 ISA程序员参考公共版手册》是针对ARC EM处理器的一份详细指南,由Synopsys公司出版。这份文档旨在帮助那些使用ARCv2指令集架构(ISA)的程序员理解和编程。ARCv2 ISA是一种包含基本功能集合以及一系列可选...

    arc_conv_r55

    "arc_conv_r55"是一款专门用于处理特定格式的压缩包的解包工具。这个工具集成了多种功能,包括解包、打包、转换以及清理,旨在帮助用户方便地管理和操作这类压缩文件。以下是对各部分的详细解释: 1. **build.bat**...

    iOS 5 ARC完全指南

    开发者可通过设置编译选项或使用toll-free bridging来解决这一问题。 ### 升级到ARC 对于从非ARC项目升级到ARC的开发者,文档提供了详细的指导,包括如何逐步转换代码库,以及在转换过程中可能遇到的问题及其解决...

    Arc-u-boot-1.1.3-20060612.tar.gz_ARC CPU_arc u-bo_arc600 verilog

    6. **源码编译**:用户可以修改u-boot-1.1.3目录中的源代码和配置文件,然后使用标准的交叉编译工具链来构建适合目标平台的U-BOOT固件。 以上就是关于"Arc-u-boot-1.1.3-20060612.tar.gz"文件及其相关标签的知识点...

    c语言实现电子时钟

    在此次课程设计中,遇到了一些问题,通过老师的指导和组员之间的协作,最后都解决了问题。要减少调试时间首先要害死程序写出来的语法错误少。 七、结论: 本课程设计通过C语言实现了电子时钟,掌握了利用C语言相关...

    lion+xcode4.2下载链接的BT种子

    标题中的“lion+xcode4.2下载链接的BT种子”指的是苹果公司开发工具Xcode的4.2版本在Mac OS X Lion操作系统上的安装文件。Xcode是Apple Inc.为开发者提供的一个集成开发环境(IDE),用于创建iOS和macOS应用程序。...

    Arc Hydro中文操作手册

    由于Arc Hydro的英文界面较多,中文使用者在使用过程中可能会遇到语言障碍,因此《Arc Hydro中文操作手册》应运而生,旨在帮助中国用户更好地理解和运用这套工具。 **1. Arc Hydro的主要功能** - **流域划分与分析...

Global site tag (gtag.js) - Google Analytics