pragma相关内容

OpenMP:有条件使用#pragma

我使用OpenMP来提高我的程序在循环中的效率。 但最近我发现,在小循环使用这个库降低性能,正常的方式更好。 事实上,我想使用openMP只有条件满足,我的代码是 #pragma omp parallel for for(unsigned i = 0; i do_some_stuff(); 但是我想做的是禁用#pragma if 足够小,即: ..
发布时间:2016-10-17 10:46:23 C/C++开发

在我的c ++项目中禁用OpenMP pragma语句

在我的c ++项目中,有几个 #pragma omp parallel for private(i)语句。当我尝试使用valgrind跟踪我的代码中的错误,OpenMP装饰导致“可能丢失”的内存泄漏消息。我想完全禁用所有上述 #pragma 语句,以便我可以隔离问题。 但是,我在我的代码中使用 omp_get_wtime(),我不想禁用这些函数调用。所以我不想完全禁用我的项目中的所有Open ..
发布时间:2016-10-14 22:06:53 C/C++开发

有没有办法使用pragma禁用所有警告?

我开始了一个新项目,并决定确保它使用/ Wall选项启用干净的构建。唯一的问题是不是所有的第三方库(如boost)编译没有警告,所以我已经诉诸在一个共享的头文件: #pragma警告(禁用:4619) #pragma警告(禁用:4820) #pragma warning(disable:4625) #pragma warning(disable:4626) #pragma war ..
发布时间:2016-10-14 12:23:26 C/C++开发

你用#pragma编写的什么代码你发现有用吗?

当 #pragma once 的需要-a-safe-include-guard“> #ifndef #define #endif 始终有效。 我已经看到了使用 #pragma comment 链接到其他文件,但使用IDE设置编译器设置更容易。 #pragma 的其他用法是有用的,但不是广为人知? 编辑: 我不是 也许我应该多说一下这个问题: 你用 #pragma 发现 ..
发布时间:2016-10-14 11:47:58 C/C++开发

如何禁用#pragma警告?

在开发C ++应用程序时,我不得不使用第三方库,它产生了与使用无害的#pragma指令相关的大量警告。 ../ File.hpp:1:warning:忽略#pragma ident 在从../File2.hpp:47, 从../File3中包含的文件中。 hpp:57, 来自File4.h:49, 解决方案 也许请参阅 GCC诊断编译指示?或者,在这种情况下, ..
发布时间:2016-10-14 10:14:54 C/C++开发

是否有一个编译器提示GCC强制分支预测总是以一定的方式?

对于Intel架构,有没有办法指示GCC编译器生成始终在我的代码中强制分支预测的代码?英特尔硬件甚至支持这一点吗?其他编译器或硬件如何? 我将在C ++代码中使用它,我知道这种情况我希望运行快,不关心慢下来, for(;;){ if正常){//如何告诉编译器总是分支预测真实值? doSomethingNormal(); } else { exceptionCase(); ..
发布时间:2016-10-13 10:58:12 C/C++开发

使用#pragma警告push / pop正确的方法暂时改变警告级别?

有时,很难编写不会发出警告的C ++代码。启用警告是一个好主意。因此,通常需要禁用某些特定结构的警告,并在所有其他代码中启用它们。 我已经看到了到目前为止的两种方式。 第一个是使用 #pragma warning(push)和 #pragma warning (pop): #pragma warning(push) #pragma warning :ThatWarning) ..
发布时间:2016-10-11 22:55:58 C/C++开发

禁用单个警告错误

是否有一种方法可以禁用Visual Studio的cpp文件中的单个警告行? 例如,如果我捕获异常并且不处理它,我得到错误4101(未引用的局部变量)。有没有办法忽略这个功能,但否则报告在编译单元?目前,我在文件的顶部放了 #pragma warning(disable:4101),但显然只是关闭整个单元。 解决方案 #pragma warning(push) #pragma w ..
发布时间:2016-10-11 22:46:22 C/C++开发

C#:是恢复需要编译警告?

我得到这样的: 的#pragma警告禁用警告名单 的#pragma警告警告恢复列表 在例子中,无论禁用和恢复被使用。是否有必要恢复如果我想为一个整体文件已禁用? 就像,如果我不恢复多远它携带?难道一切之后编译禁用的警告?或者只是该文件的休息吗?抑或是忽略? 解决方案 如果你不恢复禁用是对文件的剩余部分活跃。 有趣的是这种行为的不可以中的 ..
发布时间:2016-10-04 17:03:18 C#/.NET

可在pre处理器指令类似的#include可以在程序code的顶部只有放在哪里?

我已经用内部功能的#pragma 指令没有错误或警告(尤其是的#pragma pack()的) 。但下面的code表示内置函数“printf”式的警告不兼容的隐式声明| : INT主要(无效) { 的printf(“审判”); }#包括LT&;&stdio.h中GT; 此外,这里是从一本书上我have.The笔者对如此糟糕的评论,特别是他大量使用的提取物无效的主要(),但我仍然觉得 ..
发布时间:2016-08-23 11:39:17 C/C++

关于使用#pragma区在Visual Studio崩溃code座

在VisualStudio中,当你写一个函数就可以折叠为轮廓,每个人都知道这一点。你也可以使用的#pragma区域和的#pragma endregion 来手动指定code区使它能坍方。但是我发现,如果有倒塌code块是在的#pragma区域,他们不能再崩溃的问题。有什么办法解决呢? 解决方案 有几个不同于也更好,灵活的方式的#pragma区域你可以做垮code在VS: 方法1:使用 { ..
发布时间:2016-08-22 15:27:41 C/C++开发

如何显示在GCC编译时的#define的值

到目前为止,我已经得到尽可能: 的#define ADEFINE“23” 的#pragma消息(“ADEFINE”ADEFINE) 其中一期工程,但如果ADEFINE是不是一个字符串?的#define ADEFINE 23 的#pragma消息(“ADEFINE”ADEFINE) 原因: 警告:畸形“的#pragma消息”,忽视 在理想情况下,我想能够应付任何价值,包括不确定的 ..
发布时间:2016-08-19 16:15:36 C/C++

禁用结构填充用C不使用编译

我如何用C禁用结构的填充,而不使用编译? 解决方案 有是这样做的标准方法。该标准规定,填充可在执行的自由裁量权来实现。从C99 6.7.2.1结构和联合说明符,第12段: 结构或联合对象的每个非位字段成员在适合其类型实现定义的方式排列。 尽管如此,有几件事情你可以试试。 您第一次四折,使用的#pragma 来试图说服编译器不收拾。在任何情况下,这是不可移植的。也不是任何其他特 ..
发布时间:2016-08-18 23:51:37 C/C++

有条件的"编译OMP"

我试图使用OpenMP不同的并行化。因此,我有若干行的#pragma OMP并行的在我的code,我(非)意见的交流。有没有一种方法,使这些线路的条件与类似以下,没有工作code? 定义OMPflag 1 #如果OMPFlag编译OMP为平行 为... 解决方案 这是OpenMP并行构造可以具有指定的如果条款。在Fortran中我会写这样的: $ OMP并行如果(N> ..
发布时间:2016-08-18 14:41:12 C/C++

请问程序的执行总是从主要用C开始?

必须编程从主执行开始,或者可以在起始地址被修改? 的#include<&stdio.h中GT;无效的乐趣();启动的#pragma乐趣诠释的main() { 的printf(“主”); 返回0; }无效的乐趣() { 的printf(“在乐趣”); } 此程序打印在乐趣在主。 解决方案 在'的#pragma'命令在ANS​​I标准中规定有一个任意实现 ..
发布时间:2016-08-18 13:23:26 C/C++

为什么不是C / C ++的" #PRAGMA一次" ISO标准?

我目前工作的一个大项目和维护所有这些包括警卫让我疯了!用手写它是令人沮丧的时间浪费。尽管许多编辑器可以生成包括守卫这个没有太多帮助: 编辑器生成基于文件名后卫的象征。当你有在不同的目录相同的文件名头出现问题。他们都将得到同样包括后卫。包括目录结构放在护卫符号将需要编辑一些花哨的方法,因为斜杠和反斜杠宏是不是最好的事情。 当我要重命名文件,我应该重新命名所有的警卫包含,以及(在IFNDE ..
发布时间:2016-08-17 21:53:01 C/C++开发

在C使用`#pragma`

你能告诉我的#pragma 的在C使用一个例子。 解决方案 “#编译'是编译器指令是机器特定的或操作系统特有的,也就是说,它告诉编译器做一些事情,设置一些选项,采取一些行动,覆盖某些默认的,等等,可能会或可能不会适用于所有的机器和操作系统。 以获得更多信息。 ..
发布时间:2016-08-17 21:46:38 C/C++

告诉GCC专门展开循环

我怎么能告诉GCC解开一个特定的循环? 我已经使用CUDA SDK,其中循环可以使用手动解开的#pragma解开。是否有GCC类似的功能?我GOOGLE了一下,但没有找到任何东西。 解决方案 GCC给你处理这几种不同的方式: 使用 #pragma指令,如的#pragma GCC优化(“串”......),因为看到在 ..
发布时间:2016-08-17 21:37:42 C/C++

如何禁用GCC警告code几行

在Visual C ++,它可以使用 #编译警告(禁用:...) 。此外,我发现,在海湾合作委员会可以override每个文件的编译器标志的。我怎样才能为“下一行”做到这一点,或推/左右使用GCC code领域流行的语义? 解决方案 看来这可以做到。我无法确定它加入海湾合作委员会的版本,但它2010年6月之前的某个时候了。 下面是一个例子: 的#pragma GCC诊断错误“-Wuni ..
发布时间:2016-08-17 20:43:57 C/C++

在Visual Studio中的任何方法,而不是特定的异常投掷突破?

有一个编译器和调试器的属性,这将使调试器不在一个特定的异常的即使的调试>>例外菜单下的投掷打破我已经告诉它打破任何时候CLR例外的是扔? 在一般同时发展我喜欢它打破异常调试时,这样我可以立即对其进行检查。有时,它是已知的code此块偶尔抛出异常,我已经有一个try-catch处理它在某些孤立的情况下。请参见回答这个问题那里的共识是的try-catch是最正确的情况。 我希望能够在方法(这是类似 ..
发布时间:2016-07-21 22:23:11 其他开发