Xcode 配置文件不适用于汇编代码段
Xcode profile doesn't work with assembly piece of code
我试图在Xcode 7.1.1中开始评测我的iOS C++应用程序。但是当我使用"产品"-"概要文件"时,我会遇到很多与汇编中编写的代码有关的错误。
我可以在iPad4上构建和运行应用程序,没有任何错误。该问题仅与分析有关。
我尝试重新启动、清理并更改为推荐的项目设置。
我可以直接从仪器中使用"OpenGL ES Analysis"模板进行配置。但我需要"核心数据"来分析缓存未命中。我无法从仪器启动它——录制按钮被阻止了。
以下是错误消息的一部分:
CompileC /Users/ndobrovolskaya/Library/Developer/Xcode/DerivedData/Bonsai4-gppvscpdtzzkzdakppndntsjcuma/Build/Intermediates/Bonsai4.build/Release-iphoneos/Bonsai4.build/Objects-normal/arm64/Tree-7C49AF5101739F7B.o
/Users/ndobrovolskaya/OneDrive/OneDrive/Tree.s normal arm64 assembler-with-cpp com.apple.compilers.llvm.clang.1_0.compiler
cd /Users/ndobrovolskaya/Desktop/Bonsai/Bonsai4
export LANG=en_US.US-ASCII
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
-x assembler-with-cpp -arch arm64 -fmessage-length=0 -fdiagnostics-show-note-include-stack
-fmacro-backtrace-limit=0 -fmodules -gmodules -fmodules-cache-path=/Users/ndobrovolskaya/Library/Developer/Xcode/DerivedData/ModuleCache
-fmodules-prune-interval=86400 -fmodules-prune-after=345600 -fbuild-session-file=/Users/ndobrovolskaya/Library/Developer/Xcode/DerivedData/ModuleCache/Session.modulevalidation
-fmodules-validate-once-per-build-session -Wnon-modular-include-in-framework-module
-Werror=non-modular-include-in-framework-module -Wno-trigraphs -fpascal-strings -Os
-Wno-missing-field-initializers -Wno-missing-prototypes -Werror=return-type -Wunreachable-code
-Werror=deprecated-objc-isa-usage -Werror=objc-root-class -Wno-missing-braces -Wparentheses
-Wswitch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable
-Wunused-value -Wempty-body -Wconditional-uninitialized -Wno-unknown-pragmas -Wno-shadow
-Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion
-Wenum-conversion -Wshorten-64-to-32 -Wno-newline-eof -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.1.sdk
-fstrict-aliasing -Wdeprecated-declarations -miphoneos-version-min=7.1 -g -fvisibility=hidden
-Wno-sign-conversion -fprofile-instr-use=/Users/ndobrovolskaya/Desktop/Bonsai/Bonsai4/OptimizationProfiles/Bonsai4.profdata
-iquote /Users/ndobrovolskaya/Library/Developer/Xcode/DerivedData/Bonsai4-gppvscpdtzzkzdakppndntsjcuma/Build/Intermediates/Bonsai4.build/Release-iphoneos/Bonsai4.build/Bonsai4-generated-files.hmap
-I/Users/ndobrovolskaya/Library/Developer/Xcode/DerivedData/Bonsai4-gppvscpdtzzkzdakppndntsjcuma/Build/Intermediates/Bonsai4.build/Release-iphoneos/Bonsai4.build/Bonsai4-own-target-headers.hmap
-I/Users/ndobrovolskaya/Library/Developer/Xcode/DerivedData/Bonsai4-gppvscpdtzzkzdakppndntsjcuma/Build/Intermediates/Bonsai4.build/Release-iphoneos/Bonsai4.build/Bonsai4-all-target-headers.hmap
-iquote /Users/ndobrovolskaya/Library/Developer/Xcode/DerivedData/Bonsai4-gppvscpdtzzkzdakppndntsjcuma/Build/Intermediates/Bonsai4.build/Release-iphoneos/Bonsai4.build/Bonsai4-project-headers.hmap
-I/Users/ndobrovolskaya/Library/Developer/Xcode/DerivedData/Bonsai4-gppvscpdtzzkzdakppndntsjcuma/Build/Products/Release-iphoneos/include
-I/Users/ndobrovolskaya/Desktop/Bonsai/Bonsai4/../assimp-ios-xcode46/include
-I/usr/local/boost_1_57_0 -I/Users/ndobrovolskaya/Desktop/Bonsai -I/Users/ndobrovolskaya/Library/Developer/Xcode/DerivedData/Bonsai4-gppvscpdtzzkzdakppndntsjcuma/Build/Intermediates/Bonsai4.build/Release-iphoneos/Bonsai4.build/DerivedSources/arm64
-I/Users/ndobrovolskaya/Library/Developer/Xcode/DerivedData/Bonsai4-gppvscpdtzzkzdakppndntsjcuma/Build/Intermediates/Bonsai4.build/Release-iphoneos/Bonsai4.build/DerivedSources
-F/Users/ndobrovolskaya/Library/Developer/Xcode/DerivedData/Bonsai4-gppvscpdtzzkzdakppndntsjcuma/Build/Products/Release-iphoneos
-MMD -MT dependencies -MF /Users/ndobrovolskaya/Library/Developer/Xcode/DerivedData/Bonsai4-gppvscpdtzzkzdakppndntsjcuma/Build/Intermediates/Bonsai4.build/Release-iphoneos/Bonsai4.build/Objects-normal/arm64/Tree-7C49AF5101739F7B.d --serialize-diagnostics /Users/ndobrovolskaya/Library/Developer/Xcode/DerivedData/Bonsai4-gppvscpdtzzkzdakppndntsjcuma/Build/Intermediates/Bonsai4.build/Release-iphoneos/Bonsai4.build/Objects-normal/arm64/Tree-7C49AF5101739F7B.dia
-c /Users/ndobrovolskaya/OneDrive/OneDrive/Tree.s -o /Users/ndobrovolskaya/Library/Developer/Xcode/DerivedData/Bonsai4-gppvscpdtzzkzdakppndntsjcuma/Build/Intermediates/Bonsai4.build/Release-iphoneos/Bonsai4.build/Objects-normal/arm64/Tree-7C49AF5101739F7B.o
/Users/ndobrovolskaya/OneDrive/OneDrive/Tree.s:45:2: error: unknown directive
.syntax unified
^
<instantiation>:2:2: error: unknown directive
.thumb
^
/Users/ndobrovolskaya/OneDrive/OneDrive/Tree.s:53:1: note: while in macro instantiation
BEGIN_FUNCTION_THUMB addVertsUsingNeon
^
<instantiation>:4:2: error: unknown directive
.thumb_func _addVertsUsingNeon
^
/Users/ndobrovolskaya/OneDrive/OneDrive/Tree.s:53:1: note: while in macro instantiation
BEGIN_FUNCTION_THUMB addVertsUsingNeon
^
/Users/ndobrovolskaya/OneDrive/OneDrive/Tree.s:83:15: error: vector register expected
vld1.f32 {q4-q5},[r0:128]!
^
<instantiation>:1:1: error: unrecognized instruction mnemonic
bx lr
^
/Users/ndobrovolskaya/OneDrive/OneDrive/Tree.s:423:1: note: while in macro instantiation
END_FUNCTION
^
Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang failed with exit code 1
您正在为ARM64编译项目,但程序集文件使用的指令仅支持32位ARM目标。值得注意的是,它使用了与Thumb相关的指令,这意味着该代码使用的是ARM64代码中不支持的Thumb 2指令集。
检查一下,当您启用评测时,是否没有意外地切换到构建64位项目。
相关文章:
- 为什么我的C++程序的程序集输出充满了 .ascii,没有汇编代码?
- 在什么情况下,我想在 C/C++ 代码中使用内联汇编代码
- 这个x86汇编代码是如何接收和存储子程序返回的数据的
- Capstone cs_disasm仅反汇编一小部分代码
- 卤化物:X86汇编代码生成
- C++:汇编代码包含断言结果
- 如何使用 gcc 内联汇编器代码访问成员变量
- C++汇编代码分析(使用 clang 编译)
- 设置Qt Creator以链接和编译汇编代码
- GCC 带内联汇编和 -Ofast 为内存操作数生成额外的代码
- 如何将 WebAssembly 编译成常规汇编/本机代码(或 Cpp 等)
- 我在区分源代码、目标代码、汇编代码和机器代码时感到困惑
- 为什么这个代码片段在 C 和 C++ 中生成完全不同的汇编代码?
- 为什么简单地使用 ostringstream 会生成如此多的汇编代码
- 为什么汇编代码因我使用的反汇编程序而异
- 如何将C++11代码编译为网络汇编
- G 生成逻辑上错误的汇编代码
- 是否可以在不使用汇编的情况下告诉clang哪些寄存器用于代码的某些部分
- 将C 节俭代码汇编为接口Cassandra会导致以下错误.我们在这里缺少什么
- 如何知道两个 C++ 断点之间的代码汇编行的大小