clang相关内容
为什么 clang 将 fabs(double) 变成 vandps 而不是 vandpd(就像 GCC 那样)? 来自编译器资源管理器的示例: #include 双浮点绝对(双 x){返回晶圆厂(x);} clang 12.0.1 -std=gnu++11 -Wall -O3 -march=znver3 .LCPI0_0:.quad 0x7fffffffffffffff # 双 Na
..
我正在尝试生成 Ninja 生成文件,以使用 Clang 为 ARM Cortex A5 CPU 交叉编译 C++ 项目.我为 CMake 创建了一个工具链文件,但似乎存在我无法找到的错误或缺失的内容.使用下面的工具链文件调用 CMake 时,出现以下错误. CMake 命令: cmake -DCMAKE_TOOLCHAIN_FILE="..\Src\Build\Toolchain-c
..
我一直在尝试使用集成到 Visual Studio 2019 的 LLVM 编译器构建 OpenMP 示例程序. LLVM 编译器是从 这里(版本 10.0,win64)下载的,C:\Program Files\LLVM\bin 添加到 PATH 环境变量中.LLVM 编译器工具链 扩展是从 Visual Studio Marketplace. 它成功构建了一个 hello world
..
使用 std=c++17 作为唯一编译器标志编译的代码片段... ... 使用 GCC 9.1 成功编译.Godbolt ... 使用 Clang 8.0.0 发出编译器错误(错误在代码段下方).Godbolt 问题:这是 Clang 编译器中的一个错误,还是 GCC 错误地接受了这段代码,或者是其他什么东西在起作用? #include #include 模板
..
我目前在 ubuntu 上使用 clang11 来编译任何 c/c++ 代码并且它工作正常但是当我尝试编译任何代码时(包括 任何标准库)到任何特定目标的汇编代码,例如 x86_64(即使我有 x86_64)riscv 并给出一个标记 --target=x86_64 或 --target=riscv32 我在代码中包含的任何标准库都出错了.一个简单的例子: //ex.cpp#includeint
..
我目前正在使用 travis ci 来检查补丁进入 github 并试图弄清楚是否有任何用于 clang-format 3.9(因为 travis ci 目前仅支持 ubuntu 14.04 最新版本)以忽略整个目录或扫描更改时的文件. 我的 .travis.yml 文件: 语言:c++须藤:必需dist:值得信赖安装:- sudo apt-get 更新- sudo apt-get ins
..
我正在对一个应用程序进行 Dockerizing,该应用程序涉及通过 Clang 将二进制文件与其他 C 文件链接.我们维护二进制文件的符号链接版本,因为它们在整个代码库中使用.我的 Docker 构建目录包含整个代码库(包括源文件以及这些源文件的符号链接),当我执行诸如 cat [symlinked_file] 之类的操作时,Docker 会识别这些文件(即文件是cat 正确).但是,当我在我的
..
我正在链接一个静态库,我想知道应该如何处理 llvm/Clang 中死代码的剥离.我找不到任何暗示 Clang 具有 -Wl、--gc-section 或 -dead_strip 等价物的文档. 我假设在更高的优化级别会自动执行一些死代码消除,但在 gcc 中也是如此,对吧?然而,gcc 通过上述标志提供了一些明确的控制.Clang 没有提供,还是我遗漏了什么? (系统是OSX)
..
我正在编写一个嵌入式程序,它使用一个已知大小的静态有限堆栈区域(换句话说,我有 X 字节的堆栈,并且没有覆盖操作系统可以按需分配更多堆栈).我想在运行时避免错误,并在构建时捕获它们 - 如果我在运行时错误地在某些函数块中声明了太多不适合堆栈的变量,则有一些指示. 鉴于我没有在我的程序中使用递归调用,我能否在编译期间以某种方式知道我的所有局部变量在最深的函数调用路径上将占用多少堆栈空间?或者,
..
我最近开始使用 libclang 来解析 C 文件.我遇到的问题显然是,libclang 在生成 AST 之前启动了预处理器.我想禁止预处理器运行,而是提供预处理器指令在文件中的信息... 我使用以下 python 脚本(cindex.py 和 libclang) 导入编解码器从 clang.cindex 导入 *类源文件(对象):def __init__(self, path):使用 c
..
每当我尝试使用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
..
所以我有一个程序,需要大量内存,并且需要分配(稀疏)600 000 x 600 000整数数组.尽管我认为可以在空间和内存要求方面进行改进,但是我无法在内存为40gb的计算机(Manjaro Linux x86_64)上运行该磁盘,而我的上级却可以在内存为16gb的计算机上运行该磁盘驱动器.在MacOS(64位)上.在我的计算机上运行时,程序将运行直到尝试 malloc 该数组,然后程序被杀死.
..
我正在尝试从arm64开始交叉编译iOS的 libDSM . 我已经提取了源代码,并一直在尝试使用以下命令对其进行配置: export XCODEDIR = $(xcode-select -p)export DEVROOT = $ {XCODEDIR}/Platforms/iPhoneOS.platform/Developer导出SDKROOT = $ DEVROOT/SDKs/iPho
..
我在带有Clang的CMake中用不同的编译标志编译了相同的程序(不是库) with CMAKE_C_FLAGS = -Wl,-export-dynamic 使用CMAKE_EXE_LINKER_FLAGS = -export-dynamic 但是我注意到第二种方法似乎不起作用.我找不到导出的符号.我很惊讶只有第一种方法有效.我不知道C编译器是否执行棘手的操作,Clang或CMake
..
我正在尝试在我的C ++ Qt应用程序中引入一些OMP并行化,但是我无法在macOS下对其进行编译.同事们正在使用Windows或Linux,并且一切工作正常.我需要在Qt的.pro文件中写什么,并在系统中做什么? 此站点或任何其他站点上的类似问题均未解决我的问题.我通常使用Apple提供的clang进行编译,但似乎对此没有OMP支持.因此,我通过自制软件在llvm中安装了clang,相应地
..
我正在使用编译器资源管理器查看gcc和clang的一些输出,以了解这些编译器为某些代码发出的汇编代码.最近,我查看了这段代码的输出. int compare_int64(左侧为int64_t,右侧为int64_t){返回(左右)?1:0;} 本练习的重点不是针对C ++,无论如何都可以内联此代码,而是在调用此类函数时. 使用-O3,这是输出: c声:
..
我有一个Xcode(4.5.2)项目,可以使用Debug配置很好地构建.但是,既然我现在切换到构建Release配置,我遇到了一个问题:我的内联汇编函数之一是收到错误无效的符号重新定义.搜查该错误消息后,发现有几个人遇到了该编译器错误,但没有任何含义.这是函数,其中的错误行带有注释: inline int MulDivAdd(int nNumber,int nNumerator,int nDe
..
在文档中说CLang中的模块支持是部分的.我正在使用LLVM 12.0的最新版本在Windows 64位下使用CLang. 我成功地设法使用了常规模块(通过 import modulename; 导入). 但是我还没有创建和使用标头单元模块,即您通过 import" header.hpp"; 导入的模块.您可以通过示例建议如何做到这一点吗? 为尝试头单元,我创建了下一个玩具文件:
..
正如我所指出的-查看视频演示文稿和幻灯片). 您知道基于libclang的任何 C/C ++重构工具吗? “任何"甚至包括简单的alpha状态项目,并支持一种重构技术.它可能没有预处理器支持.作为我正在谈论的功能的一个示例:更改方法名称,无论它一次支持多个文件还是一次仅支持一个文件.您可能会想知道什至需要小的工作示例的目标是什么.我的想法是,创建一个代码示例和小型工具的列表放在一个地方
..
我使用的是Mac OS X Sierra,我发现clang(LLVM版本8.1.0(clang-802.0.38))不支持OpenMP:当我运行 clang -fopenmp program_name.c 时,出现以下错误: clang: 错误:不支持的选项“-fopenmp" 似乎clang不支持 -fopenmp 标志. 我在自制软件中找不到任何openmp库.根据LLVM网
..