我可以让 clang 对 Objective-C 文字对象使用自定义类吗?

2024-03-30

gcc 文档参考了-fconstant-string-class http://gcc.gnu.org/onlinedocs/gcc/Constant-string-objects.html参数,它允许您更改用于的类@"Objective-C string literal"实例。我发现这似乎不适用于 clang,使用以下来源:

#import <stdio.h>
#import <objc/runtime.h>

@interface ConstantString
{
    Class isa;
    char *c_string;
    unsigned int len;
}
@end
@implementation ConstantString

- (Class)class {return isa;}

@end

int main(int argc, char *argv[])
{
    fprintf(stderr, "%s\n", class_getName([@"foo" class]));
    return 0;
}

用这个编译器这样编译:

$ 铿锵 -v

Apple clang 版本 4.0 (tags/Apple/clang-421.10.60)(基于 LLVM 3.1svn)

目标:x86_64-apple-darwin12.0.0

线程模型:posix

$ clang -fconstant-string-class=ConstantString -lobjc Constantstring.m

体系结构 x86_64 的未定义符号:

“___CFConstantStringClassReference”,引用自:

  CFString in constantstring-C7icsk.o ld: symbol(s) not found for architecture x86_64 

clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)

如果我链接到 Foundation,那么我发现它仍然使用默认的常量字符串类:

$ clang -fconstant-string-class=ConstantString -lobjc Constantstring.m -框架基金会

$ ./a.out

__NSCF常量字符串

那么你真的可以使用 clang 为字符串文字定义一个自定义类吗?数组、字典和数字文字的类可以改变吗?


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我可以让 clang 对 Objective-C 文字对象使用自定义类吗? 的相关文章

  • 如何在pop UIViewController中删除UIParallaxDimmingView?

    我有一个UIViewController vc1这是在之后推送的UIViewController vc2 Both vc1 and vc2具有透明背景 问题 当我尝试弹出时vc2使用交互式弹出手势 从边缘平移 在我看来堆栈显得很神秘UIPa
  • NSString 上的 stringWithFormat 与 initWithFormat

    我想知道以这种方式声明 NSString 有什么区别 例如缺点和 或优点 NSString noInit NSString stringWithFormat lolcatz d i 与以下相反 NSString withInit NSStr
  • 从 iPhone 设备查找当前国家/地区

    我必须在 iPhone 设置中获取当前国家 地区 谁能告诉我如何在 iPhone 应用程序中获取当前国家 地区 我必须使用当前国家 地区来解析需要传递当前国家 地区的 RSS 提要 请帮我找到那个国家 提前致谢 要查找用户选择的语言所在的国
  • 使用 Python-AppKit-Objective C 转换为预组合 Unicode 字符串

    苹果公司的这份文件技术问答 QA1235 http developer apple com qa qa2001 qa1235 html描述了一种将 unicode 字符串从组合版本转换为分解版本的方法 由于我对包含某些字符 例如重音符号 的
  • 如何使用自动布局在自定义 UITableViewCell 内动态设置 UITextView 高度

    I have UITableView every tableViewCell is custom Inside my customTableViewCell is a UITextView TextViews frame is pin or
  • 在 UICollectionView 下面插入子视图

    当我在 UICollectionView 下方添加子视图时 有时子视图会显示在 UICollectionView 单元格上方 这是子视图插入代码 self collectionView insertSubview self garmentV
  • 子视图的子层与更高的子视图重叠

    我有一个问题 我正在创建一个UIView这是从方法返回的 这部分很好 但我注意到 当我将子层添加到其中一个子视图时 这些层与子层添加的层次结构中较高的子视图 textView 和 imageView 重叠到testViewCopy出现在这些
  • 永远不会在 ios 的 google API 中获取上传数据进度

    我在我的应用程序中使用 Google Drive API 从我的应用程序上传文件 到目前为止 我成功了 并找到了上传所有类型文件的良好结果 我跟着谷歌示例 https developers google com drive examples
  • UIView 和 UITableView 中的 UITapGestureRecognizer 冲突

    我有一个UIView我在其中添加了一个UITapGestureRecognizer 在该视图中 我还有一个子视图 其中基本上是某种UITableView 问题是为什么不UITableView识别连续点击 而是始终转到点击手势识别器的处理程序
  • 如何在 Xcode 4.2 中创建 Shell 脚本目标?

    我想知道是否有人知道 XCode 4 1 如何创建 shell 脚本 该选项不存在 但在最新版本中可能会被称为其他名称 塔 在导航器中选择您的项目 单击 添加目标 为空目标选择 聚合 添加构建阶段 gt 添加运行脚本 单击构建阶段并编辑运行
  • 小视频播放

    根据我从互联网收集的信息 MPMoviePlayerController 类不支持小视频播放 因此 为了死马当活马医 我想知道可以使用什么样的方法来让小视频在屏幕的一角播放 而不中断屏幕的其余部分 到目前为止 我们已经遇到了两种可行的解决方
  • Objective-C++ 中的 boost::shared_ptr

    这是对我之前提出的一个问题的更好理解 我有以下 Objective C 对象 interface OCPP MyCppobj cppobj end implementation OCPP OCPP init cppobj new MyCpp
  • 在后台每 X 分钟执行一次函数不起作用

    我使用此代码每 X 分钟执行一次函数 void executeEveryOneMinute self myFunction dispatch after dispatch time DISPATCH TIME NOW int64 t 60
  • 如何读取 Xcode 6.1 Instruments .trace 文件?

    我一直在尝试阅读 trace文件 我使用生成的custom仪器模板 仪器 自动机 分配 Leaks using 仪器 https developer apple com library mac documentation Developer
  • 返回一个dispatch_async获取的变量[重复]

    这个问题在这里已经有答案了 基本上 一个方法需要返回一个在dispatch async中获取的NSDictionary 这是我尝试过的 NSDictionary fetchNSDictionary dispatch queue t Queu
  • iOS:我如何知道某个属性是否符合 KVO 标准?

    In the 键值观察编程指南 https developer apple com library archive documentation Cocoa Conceptual KeyValueObserving KeyValueObser
  • 检查系统时间是自动还是用户设置

    我需要在当前的项目中设置用户证明时间 我围绕这个问题发现了很多不同的问题 但似乎没有一个问题有我正在寻找的答案 这些是我到目前为止看过的问题 XCODE 如何从设备获取 验证准确的时间戳 https stackoverflow com qu
  • AppDelegate 的变量用作全局变量不起作用

    我想使用我的 AppDelegate 来存储任何其他类都可以访问的对象 我已经像这样声明了这个 AppDelegate interface MyAppDelegate UIResponder
  • CGContextSelectFont 等效项

    在 iOS 7 CGContext SelectFont 中已弃用 已弃用的消息说我必须使用 Core Text 但我不知道哪一个与这段代码完全相同 CGContextSelectFont context Helvetica kBarLab
  • 使用 Cocoa/OSX 合并/堆叠两个图像

    我有一个 CGImageRef 我们称之为原始图像 和一个透明 png 水印 我正在尝试编写一种方法将水印放置在原始内容之上 并返回 CGImageRef 在 iOS 中 我会使用 UIKit 将它们绘制到上下文中 但这在 OSX 中似乎不

随机推荐

  • 使用 Samsung Galaxy Tab 附加组件将如何影响/限制我的 Android Market 部署?

    我已经针对上述附加组件提供的新构建目标运行了我的 Android 应用程序here http innovator samsungmobile com galaxyTab do 这似乎在模拟器中正常工作 但现在我非常不确定在向市场交付应用程序
  • Math.sqrt Java 的时间复杂度

    Java 中 math sqrt 实现的时间复杂度是多少 Java 以某种技术实现了时间复杂度 我正在尝试确定该技术的时间复杂度 在大多数情况下 Java 尝试使用 智能功率 算法 这会导致时间复杂度为 O log n 智能用电算法 htt
  • vhdl代码(for循环)

    描述 我想编写 vhdl 代码来查找数组 A 中的最大整数 该数组是一个由 20 个整数组成的数组 问题 我的算法应该是什么样子 以输入顺序语句的位置 我的VHDL代码 highnum for i in 0 to 19 loop i 0 i
  • Objective-C:标量属性默认为原子?

    一位朋友告诉我 标量属性 BOOL NSInteger 等 的 property 默认值是非原子的 IE property BOOL followVenmo 默认为 property nonatomic BOOL followVenmo 但
  • 使用反射调用方法

    是否可以通过类的反射来调用方法 class MyObject some methods public void fce call another method of this object via reflection 谢谢 绝对地 imp
  • 播放 2.3.8 sbt 不包括 logback

    我很难排除logback从我的play 2 3 8测试运行来看 我尝试了很多排除规则 但似乎没有任何效果 我在我的依赖树中也找不到它 我的 sbt 文件中的片段 resolvers Seq Typesafe repository snaps
  • CMake 构建工具链中“strip”命令的 Android NDK 路径变量

    我正在尝试添加一个去除调试符号我的 Android 库的步骤 其中包括不同 ABI 的本机共享库 例如x86 native lib so x86 64 native lib so arm64 v8a native lib so etc 我明
  • 如何阅读 PostgreSQL 命令的文档语法?

    我想从数据库 B 中的多个表在数据库 A 中创建一个表 我查阅了 PostgreSQL 的文档here http www postgresql org docs 9 1 static sql createtable html弄清楚命令的用法
  • 如何从 int 转换为 hex

    我想在 Golang 中将 int 转换为 hex 在strconv中 有一个将字符串转换为十六进制的方法 是否有类似的方法从 int 获取十六进制字符串 由于十六进制是整数文字 https golang org ref spec Inte
  • 我可以更改 POST 值而不重新 POST 吗?

    这是在 IIS 6 世界中使用 ASP NET 2 0 我有一个用户提交一个表单 通过 POST 发送数据 接收数据的页面会进行一些简单的验证 如果验证通过 则运行黑盒代码例程 该例程基本上使用 Request Form NameHere
  • 在R中删除国家地图边界之外的数据

    我知道这很简单 但无法让它发挥作用 我想删除下面地图上多余的数据点 我该怎么做 下面的代码给了我结果 ggplot geom polygon data rwa2 aes x long y lat group group colour bla
  • Travis-CI“Android 28 许可证尚未被接受”

    我正在尝试使用 Travis 构建 android 项目android 28 and build tools 28 0 0但无论我做什么我都会得到 gt Failed to install the following Android SDK
  • Excel VBA SQL - 多个数据源

    我有一个相当简单的问题 我找不到答案 我有以下 SQL Select a from filea where a in select b from fileb 我正在尝试使用 VBA 在 Excel 中运行它 我遇到的问题是 filea 是
  • WordPress 导航栏中的自定义短代码

    我只想在我的 WordPress 主题菜单栏中添加一个短代码按钮来处理bootstrap modal view功能 我试过 Shortcodes in Menus 插件 但它不起作用 我在菜单中找不到短代码的替代插件 所以我安装了 Boot
  • 验证 FRAMA-C 中的矩阵转置函数

    我有一个简单的矩阵转置函数 我想用后置条件来验证它 matrix transpose matrix transpose original matrix original matrix 其语法是什么 我试过了 ensures result r
  • shell32 copyhere 在.Net 和 powershell 脚本中都不起作用

    有一个 powershell 脚本可以通过 MTP 以编程方式在 PC 和 Android 之间复制文件 请参阅针对 mtp 连接访问文件系统 http www pstips net access file system against m
  • PHP GET 变量数组注入

    我最近了解到可以将数组注入 PHP GET 变量来执行代码 php a asd a asdasd b a 这就是我得到的例子 我不知道它是如何工作的 并且想知道这是否可能 PHP 将解析查询字符串 并将这些值注入到 GET超全局数组 同样适
  • 如何在 VB NET 中读取控制台缓冲区?

    我见过一个使用 ConsoleRead API 函数的 C 示例 但是当我尝试将其转换为 VBNET 时 出现了很多错误 在其他网站 如 pinvoke 中 独特的示例也是针对 C 的 我找不到任何好的示例ConsoleRead API 函
  • 可展开的树形菜单列表

    我想要实现的目标如下 我想要一个树视图列表 它将出现在页面的左侧 当展开一个项目时 它的项目是从数据库加载的 我可以做这部分 所以基本上它会像这样 Category1 Category2 Category3 Category4 当用户点击
  • 我可以让 clang 对 Objective-C 文字对象使用自定义类吗?

    gcc 文档参考了 fconstant string class http gcc gnu org onlinedocs gcc Constant string objects html参数 它允许您更改用于的类 Objective C s