如果您查看CoreGraphics / CGBase.h以及一些流行的开源项目是否为providing support for arm64,那么您可以通过以下方式检查64位运行库的存在:
#if defined(__LP64__) && __LP64__...#else...#endif
也可以专门检查arm64(而不是只是64位运行时),如this fix for erikdoe/ocmock所述
#ifdef __arm64__...#else....#endif
有没有一个完整的列表,或这些类型的定义的文档?他们在哪里或如何定义?
解决方法 这些宏并不特定于Cocoa,它们特定于CLANG,它们可以在命令行中列出:clang -dM -E -x c / dev / null
不同的CLANG版本附带不同数量的功能标志,可以在配置时打开或关闭,或者取决于编译器正在运行的平台和 *** 作系统.在testing headers中可以找到一个相当全面的列表,每个支持的系统的变体也分散在测试目录中.每个文档取决于该标志是否特定于CLANG,或者在其链接的一个标准库中定义(例如__llvm__是defined by CLANG,但__WCHAR_WIDTH__由libC定义).因为这个原因,确实没有完整的列表.只要遵守语言规范,不同的平台就可以略有不同.
大多数有趣的公共Objective-C宏存在于Foundation / NSObjCRuntime.h底部附近.
总结以上是内存溢出为你收集整理的ios – 在Cocoa中存在什么定义__LP64__和__arm64__,在编译时区分平台?他们在哪里或如何定义?全部内容,希望文章能够帮你解决ios – 在Cocoa中存在什么定义__LP64__和__arm64__,在编译时区分平台?他们在哪里或如何定义?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)