clang++ 相关问题

clang是一个C,C ++和Objective-C编译器,它包含预处理,解析,优化,代码生成,汇编和链接。根据传递的高级模式设置,Clang将在执行完整链接之前停止。虽然Clang是高度集成的,但了解编译的各个阶段,了解如何调用它是很重要的。

clang OpenMP 循环继续计数超出循环条件限制

我有以下有趣的问题: #包括 #包括 使用命名空间 std; int main(const int, const char **) { 常量 size_t n = 13; // 触发问题 ...

回答 1 投票 0

当我在 Windows 10 上使用 Clang 编译 std::cout 时,我的程序崩溃了

当我在 WIndows 10 上使用 Clang 编译 std::cout 时,我的应用程序崩溃了。Clang 编译它时没有警告或错误。 mingw-64 也有同样的问题。 #包括 int main(int argc, char* arg...

回答 1 投票 0

clang 18 和来自多个基础的运算符重载

我已将 clang 从版本 14 升级到最新版本(主干上为 18),看来我的代码中唯一的问题是来自多个基类的运算符继承(一个示例和对上帝的引用......

回答 1 投票 0

对于 C++ 来说,带有标记对齐属性的零宽度位字段的空结构是未定义的行为吗?

我已遵循有线代码。使用 clang++ 运行失败,使用 g++ 运行。 在aarch64中,long long int是8个字节,而struct S94是16个字节(为什么?在x86-64中似乎是1个字节)。 我看到 https://en.

回答 1 投票 0

为什么当存在 const std::vector 数据成员时,显式默认的默认构造函数会被隐式删除?

我有一个与下面的代码片段非常相似的代码: #包括 结构虚拟 { std::vector 常量数据; 虚拟()=默认; }; 大多数编译器都接受此代码,而不...

回答 1 投票 0

删除了显式默认的构造函数

我有一个与下面的代码片段非常相似的代码: #包括 结构虚拟 { std::vector 常量数据; 虚拟()=默认; }; 大多数编译器都接受此代码,而不...

回答 1 投票 0

命名空间“std”在 macOS clang 上没有成员“lexicographyal_compare_ Three_way”

我一直在尝试从 cppreference 编译这个示例 #包括 #包括 #包括 #包括 #包括 #包括...

回答 1 投票 0

如何将函数参数生成为具有模板参数中指定长度的序列

什么是通用化模板以将可变数量的参数(作为模板参数给出的计数)传递给函数的简洁方法?例如下面的函数 permute: 模板 什么是通用化模板以将可变数量的参数(作为模板参数给出的计数)传递给函数的干净方法?例如函数 permute,如下: template<std::size_t N> using byte_vector_t = uint8_t __attribute__((ext_vector_type(N))); template <std::size_t N, int(*f)(int)> byte_vector_t<N> permute(byte_vector_t<N> x, byte_vector_t<N> y) { return __builtin_shufflevector(x, y, f(0), f(1), f(2), f(3), f(4), f(5), f(6), f(7), f(8), f(9), f(10), f(11), f(12), f(13), f(14), f(15) ); } template <std::size_t N> byte_vector_t<N> zip_lo(byte_vector_t<N> x, byte_vector_t<N> y) { auto f = [](int i) -> int { return ((i & 1) ? N : 0) + (i / 2); }; return permute<N, f>(x, y); } 但这仅适用于 N=16: // works typedef uint8_t test16_t __attribute__((ext_vector_type(16))); test16_t zip_lo16(test16_t x, test16_t y) { return zip_lo(x, y); } // does not work typedef uint8_t test8_t __attribute__((ext_vector_type(8))); test8_t zip_lo8(test8_t& x, test8_t& y) { return zip_lo(x, y); } std::apply 似乎可能相关,但 __builtin_shufflevector 拒绝传递进去。即使它有效,我仍然不知道如何最好地生成元组。 您应该能够使用 index_sequence: #include <utility> template <std::size_t N, int (*f)(int)> byte_vector_t<N> permute(byte_vector_t<N> x, byte_vector_t<N> y) { return [&]<std::size_t... I>(std::index_sequence<I...>) { return __builtin_shufflevector(x, y, f(I)...); }(std::make_index_sequence<N>()); } 演示 如果您使用 C++17,则无法使用通用 lambda,因此您需要一个辅助函数: template <int (*f)(int), std::size_t... I> byte_vector_t<sizeof...(I)> permute_helper(byte_vector_t<sizeof...(I)> x, byte_vector_t<sizeof...(I)> y, std::index_sequence<I...>) { return __builtin_shufflevector(x, y, f(I)...); } template <std::size_t N, int (*f)(int)> byte_vector_t<N> permute(byte_vector_t<N> x, byte_vector_t<N> y) { return permute_helper<f>(x, y, std::make_index_sequence<N>()); }

回答 1 投票 0

尝试使用模块构建c++20应用程序

我正在尝试在应用程序中使用其他库的预编译模块。我使用 -fprebuilt-module-path= 指定 lib pcm-files 的路径并链接 *.so 文件,但收到下一个错误: 致命错误:模块'

回答 1 投票 0

标准库上的 clang++ 错误取决于 -std=c++2b 版本,并在使用 -g 标志时发出警告

使用 g++ 编译可以正常工作 如果我用 clang++ 编译,下面的命令可以正确编译 clang++ -std=gnu++20 -c 03_vect.cpp -o 调试/03_vect.cpp.o 当命令如下时 叮当...

回答 1 投票 0

为参考参数和优化更改创建临时对象

我有以下代码 #包括 void foo(const int* const &i_p) { std::cout << &i_p << std::endl; } int main () { int i = 10; int* i_p = &...

回答 1 投票 0

使用 Clang++ 初始化向量

我在这里发现了一个类似的问题,为什么我收到“非聚合无法使用初始值设定项列表初始化”,但答案说它现在可以工作,但这似乎不适合我。代码: ...

回答 1 投票 0

为什么C++中对象有NULL vtable指针?

我正在使用从源代码(git 标签:llvmorg-16.0.6)构建的 libTooling 来搜索 AST 级别的差异。 使用我构建的产品时,出现分段错误。 通过gdb检查,我发现...

回答 1 投票 0

Clang 在 nushell 编译脚本中链接时找不到 .o 文件

我目前正在尝试在 Nushell 中为 C++ 项目编写构建脚本。 这是一个相当简单的设置,首先构建一个库,然后在其他脚本中构建并链接

回答 1 投票 0

如何使用 clang 将模板类的构造函数声明为友元? (使用 g++ 编译,而不是 clang++)

我有一个带有私有构造函数的模板类,我希望该私有构造函数对该类的所有模板化实例都是友好的。以下内容在 g++ 11.4.0 下编译,但在 cla 下失败...

回答 1 投票 0

clang++ 编译无法访问的函数,g++ 则不会

我在 Instagram 上看到了这个 meme,内容是关于一些 C++ 代码,这些代码不应该输出任何内容,但却会输出任何内容。代码是: #包括 int main() { 而 (1) ; } 无效不可达(){ 是...

回答 1 投票 0

无法在 MacO 上将 to_chars 与 clang++ 一起使用

我尝试过使用g++和clang++,我尝试过带有-std标志的各种c++版本。我尝试阅读 charconv 文件以了解问题所在。 我需要一些帮助,我真的不确定......

回答 1 投票 0

带有预编译标头的 clang-tidy 和 cmake 不起作用

我有一个简单的设置,其中 CMake 生成以下编译命令: cd /workspaces/cmake-general/tests/project/build/examples/hello-world && /usr/local/bin/cmake -E __run_co_compile ...

回答 1 投票 0

在 MacOS 上构建 OpenPose 时如何更改 CMake 中的 c++ 编译器版本?

我已经克隆了最新版本的 OpenPose 并尝试在 MacOS 13.5 (22G74) 上构建它。在我运行 make -j sysctl -n hw.logiccpu 后,它会生成一堆错误,说我使用了过时的 c++

回答 1 投票 0

Clang 工具在使用 -Xclang

我创建了一个基本的 clang 工具并使用 FrontendPluginRegistry 注册它: 静态 FrontendPluginRegistry::Add X(“我的解析器”,“我的 clang-工具解析器”) ...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.