clang相关内容

MacOS上的C++11警告

我的Mac上有clang 13.0.0。我正在尝试使用命令 编译一些.cpp文件 g++ file.cpp -o file 但我收到此警告消息: file.cpp:23:26: warning: range-based for loop is a C++11 extension [-Wc++11-extensions] for (const double &e : times ..
发布时间:2022-02-24 21:01:00 C/C++开发

Linux 中的 PATH_MAX 定义在哪里?

我应该使用 #include 调用哪个头文件才能使用 PATH_MAX 作为 int 来调整字符串大小? 我希望能够声明: char *current_path[PATH_MAX]; 但是当我这样做时,我的编译器(Linux 上的 Clang/LLVM)会发出以下错误: recursive_find6.c:29:20:错误:使用未声明的标识符“PATH_MAX"字符 *current_ ..
发布时间:2022-01-25 18:17:00 服务器开发

有没有办法将 C11 编译成 C89?

我的一个(嵌入式)目标只有一个 C89 编译器. 我正在从事一个针对多个设备的(爱好)项目. 有没有办法将 C11 代码库编译(转译?)成 C89? (否则我将不得不像 1989 年那样编写代码.) 解决方案 不,我不认为所有 C11 都有可能.C11 具有 C89 或 C99 中根本不存在的特性:_Generic、_Atomic、_Thread、_Alignof,定义明 ..
发布时间:2022-01-25 12:57:52 其他开发

为什么 C 不允许从 char ** 到 const char *const * 的隐式转换(而 C++ 允许)?

我知道从 char ** 到 const char ** 的隐式转换无法完成以及为什么,以及到 char *const *有效.请参阅底部的解释链接. 除了一件特定的事情之外,这一切都是有意义的.所以我有以下代码: #include 空白打印(常量字符*常量*参数){printf("%s\n", 参数[0]);}整数主要(int argc,char **argv){打印( ..
发布时间:2022-01-23 23:32:17 C/C++开发

如何在 C++ 中编码大型复杂的常量数据结构

过去,我使用 gcc 的 C99 风格的复合文字扩展C++ 在代码中编码嵌套的常量数据结构.这是一个例子: #include 使用命名空间标准;结构树{常量字符*名称;常量树*左;常量树*对;};常量树 *常量树 = (树 []) {"top",//名称(树[]) {“剩下",0,0},(树[]) {“对",0,0}};静态无效转储(常量树*树){如果(!树){cout 左) ..
发布时间:2022-01-23 21:13:42 C/C++开发

Clang 的链接器

我为 Clang 使用哪个链接器? 如果我使用 Clang 或 GNU 链接器(ld) 作为链接器,我得到了大量的错误,就好像我没有链接到标准库一样. g++ $(OBJS) -o $(BINDIR)/obtap 看来我必须使用 g++ 来链接我的 Clang 对象. 解决方案 我运行的是 'clang' 而不是 'clang++',这意味着它没有链接 C++ 标准库. ..
发布时间:2022-01-23 21:12:02 C/C++开发

c++ g++ llvm-clang 编译器分析

请注意,我的问题不是:我如何告诉我的编译器在开启分析的情况下进行编译. 我想配置我的编译过程.对于每个文件,我想知道程序的每一行花费了多少时间. 我正在处理一个项目,有些文件的编译时间很长,我正在尝试找出原因. 有没有办法用 g++ 或 llvm-clang 做到这一点? 谢谢! -v -ftime-report 的输出(什么意思)? 下面是“解析器"还是“扩展 ..
发布时间:2022-01-23 21:05:02 C/C++开发

可以将类的成员命名为与其类型(另一个类)相同的名称吗?

尝试在不同的编译器上编译以下代码会给我两个不同的结果: 结构 S{};结构 T{S S;};int main(){} 如您所见,在 T 内部,我有一个与之前定义的类 S 同名的对象. 在 GCC 4.7.2 上,我收到以下与 SS; 声明有关的错误T: 错误:“S T::S"的声明 [-fpermissive] 错误:从 'struct S' [-fpermissive] 更改 ..
发布时间:2022-01-23 20:44:26 C/C++开发

我可以在 XCode 4 或 OSX Lion 中使用 C++11 的最新功能吗?

可能重复: 我可以在 Xcode 中使用 C++11 吗? 似乎 xcode 4 包含旧版本的 clang 和 gcc.我可以升级 gcc 或 clang 并将它们与 xcode 4 一起使用吗?我想使用 gcc >= 4.6 或最新的 clang. 我的主要目标是在 mac osx lion 上编程 C++ 时,能够尽可能多地使用 C++11 中的新功能,因此如果需要,放弃 xco ..
发布时间:2022-01-23 20:41:22 C/C++开发

Xcode 3.2:构建 &分析永远不会发现任何问题

我以前在命令行中使用过 Clang 静态分析器.我想通过 Build & 尝试 Xcode 的内置版本分析.即使我专门为我的代码准备了 Clang 总是能够指出的非常明显的问题,我也从未得到任何负面结果: //过度释放一个对象:【标签发布】;【标签发布】;//未初始化的变量,分配但不释放对象NSString* 字符串;整数;CCLabel* newLabel = [[CCLabel alloc] ..

GCC -g 与 -g3 GDB 标志:有什么区别?

在使用 gcc 或 Clang 编译 C 源代码时,我总是使用 -g 标志为 gdb 生成调试信息. gcc -g -o helloworld helloworld.c 我注意到有些人推荐-g3.-g 和 -g3 标志之间有什么区别?-g和-ggdb还有区别吗? 解决方案 来自 文档: -g 以操作系统的本机格式(stabs、COFF、XCOFF 或 DWARF 2 ..
发布时间:2022-01-20 20:31:38 其他开发

是否可以使用lldb调试gcc编译的程序,或者使用gdb调试clang编译的程序?

(前言:我对 C/C++ 还很陌生,我真的不知道在本机代码中调试实际上是如何工作的.) 一些消息来源说 gdb 和 lldb 可以调试 任何编译为机器码.其他人说要使用 gdb 进行调试,您必须在 gcc 使用 -g 标志.gcc 本身的文档表明这是可选的,事实上如果您使用它,它可能会导致调试器出现问题 gdb.Clang 还有一个 -g 标志,文档基本上只是说“生成调试信息". 那么 ..
发布时间:2022-01-20 20:07:41 其他开发