clang相关内容
我正在尝试将一些 Linux C 代码移植到 Apple M1 Mac,并且遇到了一些内联汇编的问题.这让我很难过. 我有以下内联汇编块: #define TEST asm volatile(\“adr x0,标签9 \n"\:::“x0"); 并且遇到了以下错误: test.c:73:5: error: unknown AArch64 fixup kind!测试^./ARM_bran
..
我想使用 Clang 为“Windows Phone"ARM 目标编译一个用 C 编写的程序.有人有这方面的经验吗? 什么是更好的方法? 1) 使用 Clang for Windows 和 MinGW 在运行 Windows 8 的主机上构建.Clang for Windows/MinGW 是否默认支持 ARM?如果没有,我需要重新构建 Clang 和 MinGW 吗? 2) 在
..
为了学习有关 ARM 汇编的知识,我编写了一个简单的测试项目来使用内联汇编和 NEON 指令执行图像缩小.你可以在这里看到: https://github.com/rmaz/NEON-Image-Downscaling 经过一些努力,我设法让它工作,快乐的日子.除了它仅适用于小于 -O2 的优化级别.我已经查看了生成的 ASM,但我看不出任何明显的原因为什么会发生这种情况.任何人都可以
..
我有一个关于在 c 中使用 ASM 的小问题.我要执行指令: LDR PC,=0x123456 这给了我错误“操作数中的意外标记". asm("LDR PC,=0x123456"); 这给出了“无效约束". asm("LDR PC," : "m" (0x123456)); 这样做的正确方法是什么? 解决方案 您正在使用这个: asm("LDR PC,=0x123456");
..
我正在尝试生成 Ninja 生成文件,以使用 Clang 为 ARM Cortex A5 CPU 交叉编译 C++ 项目.我为 CMake 创建了一个工具链文件,但似乎存在我无法找到的错误或缺失的内容.当使用下面的工具链文件调用 CMake 时,我收到以下错误. CMake 命令: cmake -DCMAKE_TOOLCHAIN_FILE="..\Src\Build\Toolchain
..
这听起来像我应该可以谷歌的东西,但我找不到很好的参考.__attribute__((force)) 到底做了什么?如: return (__attribute__((force)) uint32_t) *p (这是针对 ARM 系统的,与 clang 交叉编译,但即使在 clang/arm 特定页面中,我也无法在此属性的任何地方找到任何引用..). 解决方案 __attribute_
..
是否可以为 ARM 处理器设置 Clang 进行交叉编译?主机可能在 x86 上(AMD64 - 可能是 Ubuntu 12.04),目标是 ARM(Raspberry Pi 和 Pandaboard - 将为每个做单独的编译),我可能在某个时候也希望为 PowerPC 架构交叉编译?程序源代码为 C. 解决方案 为运行 soft-float Linux 发行版的 Raspberry Pi
..
在 Ubuntu 64 位下我得到了 llc --versionLLVM(http://llvm.org/):LLVM 3.1 版使用断言优化构建.建于 2012 年 10 月 15 日 (18:15:59).默认目标:x86_64-pc-linux-gnu主机 CPU:btver1注册目标:手臂 - 手臂mips - Mipsmips64 - Mips64 [实验性]mips64el - Mi
..
我想根据目标架构是否是例如编写代码armv7、armv7s 或 arm64. 我不能使用的原因 sysctlbyname 是这将在运行时为我提供底层架构,但是当 arm64 例如模拟armv7,sysctl(貌似)还是报arm64. 解决方案 clang --target=... -mcpu=... -E - -dM
..
环境:x86-64 Clang 6.0.0 函数定义: void foo(const char*) {} foo(char[16]{});//休斯顿,有问题! foo(type_alias{});//编译愉快 type_alias 很简单: template使用 type_alias = T; 活的恶魔 作为注释,case 1 不能编译,而 case 2 可以.
..
使用 Xcode 6.3.1,CMake 3.2.2 我有一个与图书馆链接的项目.这个库作为代码包含在 xcode-project 中,编译后与主可执行文件链接. 项目是用cmake生成的.CMakeLists.txt 的一些摘录: add_library(mylib ${mylib_HEADERS} pch.cpp source/mylib/xxx.cpp)...add_execu
..
正如标题所说,是否有任何优雅且安全的方法来确定架构是 32 位还是 64 位.通过优雅,您可以想到精确、正确、简短、干净和聪明的方式.安全,从标准、C89/C99、操作系统独立性等方面考虑安全. 解决方案 指针的大小并不是一个真正值得测试的好东西 - 在标准 C 中没有太多可以用测试结果做的事情. 我的建议是测试((size_t)-1),C可以理解的最大对象大小: if ((si
..
在 Ubuntu 64 位下我得到了 llc --versionLLVM(http://llvm.org/):LLVM 3.1 版使用断言优化构建.建于 2012 年 10 月 15 日 (18:15:59).默认目标:x86_64-pc-linux-gnu主机 CPU:btver1注册目标:手臂 - 手臂mips - Mipsmips64 - Mips64 [实验性]mips64el - Mi
..
我想在我的 x64 Windows 机器上构建一个 x86 Windows 应用程序. 我使用 CMake、Ninja、clang-cl、lld-link 和 VS Build Tools 2017 以及以下 CMakeLists cmake_minimum_required(VERSION 3.9)项目(测试CXX)add_library(TestLib STATIC "")target
..
每当我尝试使用 openMP 标志进行编译时,Clang 都无法找到 omp.h.这就是我想要做的 clang++ -dynamiclib -I/opt/homebrew/Cellar/eigen/3.3.9/include/eigen3/-Xpreprocessor -fopenmp -o libfoo.dylib didibrary.cpp -lomp 虽然我在 /opt/homebrew
..
使用 Apple Silicon M1 机器.尝试安装 ruby gem gem install sassc -v '2.1.0'. 问题在于,clang 编译器还没有 Apple M1 的“本机"标志.相关 给出错误:(注意我用'yournamehere'替换了我的名字) 获取 sassc 2.1.0使用本机扩展安装 sassc 2.1.0Gem::Ext::BuildErro
..
如果我在某些 C++ 代码中有以下宏: _Foo(arg1, arg2) 我想使用 Python 使用 Clang 和 cindex.py 提供的 Python 绑定来查找该宏的所有实例和范围.我不想直接在代码上使用 Python 中的正则表达式,因为这让我达到了 99%,但不是 100%.在我看来,要达到 100%,您需要使用真正的 C++ 解析器(如 Clang)来处理所有情况,即人们做了
..
使用 Android NDK r18b(使用 clang 工具链)和 Android Studio 3.2.1. 我的mylib.gradle的相关部分: task ndkBuild(type: Exec) {命令行“${ndkDir}/ndk-build${ndkExt}"} 我的Application.mk: APP_PLATFORM := android-17APP_ABI :=
..
我有一个大项目,以及大量的 C++ 类成员函数: 返回 CClass::MemberFunction(arg1 arg1,//...std::weak_ptr听众){//...} 我正在尝试编写一个匹配器来查找此类函数,这些函数的参数类型为字符串“Listener";以他们的名义. 我可以找到参数类型为“weak_ptr"的函数;以他们的名义: clang-query>m cxxMet
..
我搞砸了我的 iPhone 项目.我运行了 svn update,几个月前我已经摆弄过存储库.此后发生了许多变化,几乎不可能从旧点恢复. 当我现在尝试构建项目时,我得到: ProcessPCH/Users/waterskiingmithrill/Library/Developer/Xcode/DerivedData/Event-cqyicuekijryjpbuuucigvdrxrdc/Bu
..