49得票3回答
C++:#pragma comment(lib, "XXX") 实际上对“XXX”做了什么?

我背景是C#,但我需要维护一些遗留的(MS)C++代码。在那个代码库中,我遇到了以下问题:#pragma comment(lib, "OtherLib700.lib") 700是某个版本号。此外,该库是一个带有相同名称的DLL。 我最初认为程序将依赖于该DLL,但是在从系统中删除它后,程序仍...

47得票1回答
有没有任何理由不使用“INLINABLE”编译指示符来声明一个函数?

文档说明: 一个函数f上的{-# INLINABLE f #-} pragma具有以下行为: - 虽然INLINE表示“请内联我”,但INLINABLE表示“随意内联我;自行决定”。换句话说,选择留给了GHC,它使用与无编译指示函数相同的规则。与INLINE不同,该决策在调用点处做出,并因...

46得票1回答
#pragma unroll 究竟是做什么的?它会影响线程数吗?

我是CUDA的新手,不理解循环展开。我写了一段代码来学习这个技术。 __global__ void kernel(float *b, int size) { int tid = blockDim.x * blockIdx.x + threadIdx.x; #pragma unrol...

45得票4回答
有没有一种方法可以使用#pragma禁用所有警告?

我开始一个新项目,并决定使用启用/Wall选项来确保它能够干净的构建。唯一的问题是,不是所有第三方库(如boost)都能够无警告地编译,因此我已经开始在共享头文件中这样做:#pragma warning(push) #pragma warning(disable:4820) #pragma ...

41得票6回答
如何使用#pragma message()让消息指向文件(行号)?

为了在我的代码中添加“待办事项”,我想在编译器输出中放置一条消息。 我希望它看起来像这样:c:/temp/main.cpp(104): TODO - add code to implement this 为了使用Visual Studio的构建输出功能,通过双击来导航到相应的行,需要进行如下设...

40得票3回答
禁用和恢复#pragma warning警告

我使用C#创建了第一个项目,但是遇到了很多警告错误,这些警告错误都是要变成单个错误(内部编译器错误,请参阅控制台日志获取更多信息)。 为了减少警告错误,我在有问题的代码前后使用了#pragma Warning disable和#pragma warning restore。 我不确定在我的...

37得票1回答
GCC不遵守“pragma GCC diagnostic”来消除警告

我们最近为一个项目启用了-Wall。它在GCC 4.7或以上版本(或Clang)时启用,因为我们可以使用GCC Diagnostic来管理升级警告的输出。我们想要从源代码中管理它们,而不是通过命令行参数。(我们不想污染命令行,或者要求库用户重新发现所需内容)。 在GCC 4.8和5.1下,我...

35得票3回答
我应该仍然使用#include guards和#pragma once吗?

http://en.wikipedia.org/wiki/Pragma_once 当所有编译器都支持#pragma once时,我是否仍然需要使用包含保护? 许多Stack Overflow上的回答都建议为了兼容性而同时使用两种方法,但我不确定这是否仍然正确。 现在有哪些编译器不支持#pr...

34得票7回答
我的响应头中为什么会添加"Pragma:no-cache"?(Apache,PHP)

我继承了一个维护不良的网站,需要进行大量的清理工作。 其中之一就是改善性能。除此之外,我还会给图像添加Expires头信息。 现在,有些图像是通过PHP文件提供的,我发现它们确实有Expires头信息,但每次加载时也会重新下载。 查看响应头,我看到:Expires Wed, 15 Jun ...

32得票3回答
#pragma once的位置是在#include之前还是之后?

在现有的代码中,我看到#pragma once被用在头文件#include之后。 //Some_Header.h #include "header1.h" #include "header2.h" #pragma once //implementations 与其 //Some_H...