15得票1回答
当抛出异常的代码链接到使用-fno-exceptions编译的库时会发生什么?

具体而言,我想知道GCC在链接使用-fno-exceptions编译的代码时,对于抛出异常行为有什么保证(如果有的话)。 GNU的libstdc++手册在这里给出了以下说明: “在详细介绍支持-fno-exceptions的库之前,先简单说明使用此标志时会丢失哪些内容:无论编译-fno-e...

18得票3回答
如何确定将为 Python C 扩展调用哪个特定的编译器:GCC 还是 Clang?

我有一个Python C++扩展,当在OS X上使用Clang编译时需要以下编译标志:CPPFLAGS='-std=c++11 -stdlib=libc++ -mmacosx-version-min=10.8' LDFLAGS='-lc++' 检测我的 setup.py 中的 OS X 相当容...

20得票7回答
没有返回语句时为什么编译器没有报错?

与Java不同,C/C++中以下内容是允许的:int* foo () { if(x) return p; // What if control reaches here? } 这经常导致崩溃,并且很难调试问题。为什么标准不强制要求非void函数有一个最终返回值? (编译器会为...

9得票6回答
使用GCC编译时加上“-Wextra”选项的缺点

我知道在编译时应该同时使用-Wall和-Wextra,因为它们可以启用警告并帮助我们理解错误(如果有的话)。 我读到过不建议使用-Wextra编译器标志,因为它会产生大量错误警告信息。 我对此感到非常惊讶。所以我开始搜索相关资料,但是我没有得到任何答案,因为所有的搜索结果都是“-Wextr...

7得票2回答
xcodebuild能够删除项目的Build文件夹内容吗?

在 Xcode 9 中,有一个名为“Clean Build Folder...”(⌥⇧⌘K)的构建选项,它会删除构建文件夹中的所有文件,只留下空文件夹。此后,该行为被移除,菜单项标题更改为“Clean Build Folder”,现在的行为类似于旧版“Clean”。 xcodebuild 有...

14得票1回答
如何打印当前使用target_compile_options()设置的编译标志?

我试图打印为目标设置的编译标志。最好的情况是在配置和编译时打印当前标志的一行,但如果不可能,则仅在配置时间(或编译时间)打印(可接受的解决方案)。 这是我的测试.c文件:#include <stdio.h> int main() { printf("Hello, Wo...

12得票1回答
我该在哪里找到关于D_GLIBCXX_DEBUG和DNDEBUG标志的更多信息?

我正在尝试理解D_GLIBCXX_DEBUG和DNDEBUG标志。 但我找不到关于它们的信息。 有人可以解释一下它们的作用吗?在哪里可以了解更多相关信息?

11得票1回答
Xcode 5中与Build Settings中的NS_BLOCK_ASSERTIONS等效的设置是什么?

在 Xcode 5 之前,可以使用默认的构建设置来防止 Release 构建包含 NSAssert 语句及其变体:OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; 在project.pbxproj文件中可以找到此设置,而且在Xcode中也可以设置: (注...

8得票1回答
ARM Cortex-A8:如何同时利用NEON和vfpv3?

我使用Cortex-A8处理器,不知道如何使用-mfpu标志。 Cortex-A8上有vfpv3和neon协处理器。之前我不知道如何使用neon,所以我只使用了 gcc -marm -mfloat-abi=softfp -mfpu=vfpv3 现在我已经了解了SIMD处理器的运行方式,并...

34得票2回答
为什么Clang不能启用所有的Sanitizer?

Clang提供了各种运行时检测工具,但其中有些工具不能同时使用。为什么呢?clang++-3.9 -std=c++1z -g -fsanitize=memory -fsanitize=address -o main main.cpp ...