177得票1回答
为什么使用现代 x86-64 clang 处理未排序数组的速度与处理已排序数组的速度相同?

我发现了这个流行的9年老的SO问题并决定再次核实其结果。 所以,我有AMD Ryzen 9 5950X、clang++ 10和Linux,我复制了问题中的代码,这是我得到的结果: 排序后 - 0.549702秒:~/d/so_sorting_faster$ cat main.cpp | gre...

172得票3回答
ARC和桥接转换

使用ARC后,我无法再将CGColorRef强制转换为id。我了解到需要执行桥接强制转换。根据Clang文档的说明: 引用式强制转换是一种带有以下三个关键字之一的C样式强制转换: (__bridge T) op将操作数转换为目标类型T。如果T是可保留的对象指针类型,则op必须具有不可保留的...

166得票1回答
"-std=c++11"与"-std=gnu++11"之间有哪些区别?

-std=c++11和-std=gnu++11是gcc和clang编译参数中的什么区别?同样的问题也适用于c99和gnu99。我知道C++和C标准,但我对参数之间的差异感兴趣。 我在某个地方读到这与一些扩展有关,但我不清楚具体是哪些扩展以及如何选择其中之一作为新项目的编译参数。

155得票17回答
如何在一个cpp项目文件夹中调用clang-format?

是否有一种方法可以像这样调用clang-format --style=Webkit来处理整个cpp项目文件夹,而不是单独为每个文件运行它? 我正在使用clang-format.py和vim来实现这一点,但我认为有一种方法可以一次性应用。

154得票2回答
GCC -g和-g3 GDB标志有什么区别?

在使用gcc或clang编译C源代码时,我总是使用-g标志为gdb生成调试信息。 gcc -g -o helloworld helloworld.c 我注意到有些人建议改用-g3。 -g和-g3标志有什么区别?-g和-ggdb之间是否有区别?

153得票11回答
如何创建一个无限的空循环且不被优化?

C11 标准似乎意味着具有常量控制表达式的迭代语句不应被优化。我从 这个答案 中获得建议,该答案特别引用了草案标准中的第6.8.5节: 其控制表达式不是常量表达式的迭代语句……可以被实现假定为终止。 在这个答案中提到像 while(1) ; 这样的循环不应受到优化。 那么...为什么Cla...

151得票3回答
LLVM与clang在OS X上的区别

我有一个关于OS X上的llvm、clang和gcc的问题。 llvm-gcc 4.2、llvm 2.0和clang之间有什么区别?我知道它们都基于llvm构建,但它们之间有什么不同呢? 除了更快的编译速度,llvm相对于gcc的优势是什么?

149得票5回答
在Linux中,PATH_MAX的定义在哪里?

我应该使用哪个头文件来调用 #include,以便将 PATH_MAX 作为 int 类型来调整字符串大小? 我想声明:char *current_path[PATH_MAX]; 但是当我这样做时,我的编译器(在Linux上使用的Clang/LLVM)会发出以下错误:recursive_fin...

139得票4回答
Clang 优化级别

对于gcc,官方手册解释了-O3、-Os等参数在具体优化参数(如-funswitch-loops、-fcompare-elim等)方面的意义。 我正在寻找同样有关clang的信息。 我已经在在线手册和man clang中查找,但只得到一般信息(-O2比-O1更激进地进行优化,-Os针对尺寸进行...

137得票14回答
如何在clang中列出支持的目标架构?

我对ARM有兴趣,尤其是iPhone/Android目标。但我想更多地了解clang,因为它在未来几年中扮演重要角色。 我尝试过。 clang -cc1 --help|grep -i list clang -cc1 --help|grep arch|grep -v search clang...