标签: pragma

如何更改一个功能的优化级别?

这与使用-O3时确定段错误的原因有关?在这个问题中,当-O3使用特定版本的GCC 编译时,我正在捕获特定函数中的段错误.在-O3,使用矢量化指令(at -O2,不使用它们).

我想在较低的优化级别中包装单个函数.根据GCC 4.2.2中特定功能的关闭优化,我可以做到.但是,按照问题和答案中的各种链接,我找不到"如何,确切地说,这样做"的答案.

如何将单个函数标记为使用不同的优化级别?


相关,我不想将此函数移动到单独的文件,然后为它提供不同的makefile配方.这样做可以打开另一种蠕虫病毒,比如仅在某些平台上将其应用于GCC 4.9.

c optimization gcc pragma

12
推荐指数
3
解决办法
5996
查看次数

为什么这个库没有链接到pragma评论?

我正在我正在Visual C++ 2008中工作的项目中使用Fmod.如果我包括

../fmodapi375win/api/lib/fmodvc.lib
Run Code Online (Sandbox Code Playgroud)

在Project-> Linker-> Input中,它工作正常,但出于某种原因,如果我使用

#pragma comment(lib,"../fmodapi375win/api/lib/fmodvc.lib")
Run Code Online (Sandbox Code Playgroud)

相反,它的工作方式与该行不存在的情况相同:它构建时没有链接器错误,然后崩溃,堆栈溢出来自一百万次访问冲突异常.

发生了什么,我该如何解决它,以便我可以在代码中定义lib?

linker pragma visual-c++

11
推荐指数
2
解决办法
1万
查看次数

#pragma init和#pragma fini在linux上使用gcc编译器

我想构建一些代码,在共享库的加载时调用一些代码.我以为我会这样做:

#pragma init(my_init)

static void my_init () {  
  //do-something
}

int add (int a,int b) {  
  return a+b; 
}
Run Code Online (Sandbox Code Playgroud)

所以当我用它构建代码时

gcc -fPIC -g -c -Wall tt.c

它回来了

gcc -fPIC -g -c -Wall tt.c 
tt.c:2: warning: ignoring #pragma init 
tt.c:4: warning: ‘my_init’ defined but not used
Run Code Online (Sandbox Code Playgroud)

所以它忽略了我的#pragmas.我在实际代码中尝试了这个并且我的代码中止了,因为在pragma部分中没有调用函数,因为它被忽略了.

我如何让gcc使用这些#pragma init和fini语句?

c gcc pragma

11
推荐指数
1
解决办法
3619
查看次数

如何在Objective-c中使用sqlite3 PRAGMA user_version?

我正在尝试检查sqlite DB的user_version.我有一个管理工具来破坏版本,但我不理解pragma语句的语法.我期望在if语句中测试该值.有人可以提供代码示例吗?当我在我的objective-c代码中嵌入pragma语句时,编译器会抛出错误.

sqlite iphone objective-c pragma

11
推荐指数
1
解决办法
2万
查看次数

我可以以编程方式启用/禁用异常中断吗?

我希望能够在调试时中断异常...就像在Visual Studio 2008的菜单调试/异常对话框中一样,除了我的程序在到达我希望调试的位之前有许多有效的异常.

因此,不是每次都使用对话框手动启用和禁用它,而是可以使用#pragma或其他方法自动执行它,因此它只发生在特定的代码段中?

.net c# exception pragma visual-studio

11
推荐指数
1
解决办法
4504
查看次数

在不使用pragma的情况下禁用C中的结构填充

如何在不使用pragma的情况下禁用C中的结构填充?

c pragma

11
推荐指数
1
解决办法
6858
查看次数

`#pragma once`是否成为C++ 0x?

标题说明了一切.已#pragma once被标准化了的C++ 0x?我不知道任何编译器没有提供它的实现,几乎总是相同的语义和名称.

c++ pragma c-preprocessor c++11

11
推荐指数
2
解决办法
2922
查看次数

在使用严格之前是否有理由使用警告?

我记得在某个地方看过一些评论

use warnings;
use strict;
Run Code Online (Sandbox Code Playgroud)

是优选的(而不是strict先使用',因为我不习惯).我的记忆力是否正确?订单是否重要,如果确实如此,以何种方式?

perl pragma

11
推荐指数
1
解决办法
794
查看次数

Qt创建者中的代码折叠(#pragma region)

在Qt Creator中是否存在类似于显式代码区域的折叠:

#pragma region Region_1
void Test() {}
void Test2() {}
void Test3() {}
#pragma endregion Region_1
Run Code Online (Sandbox Code Playgroud)

我可以看到逻辑代码块的折叠,但不知道如何显式设置这样的块.我的Qt Creator版本是2.4.1

c++ pragma code-folding qt-creator

11
推荐指数
4
解决办法
1万
查看次数

如何有选择地忽略clang关于使用已弃用的objective-c实现的警告?

我正在为iOS 5.1 更新MGSplitViewController,我想要警告使用不推荐使用的Objective-C方法.不幸的是,MGSplitViewController支持iOS 3.2,所以我想支持所有已弃用的回调,但忽略有关它们的警告.

CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS在目标构建设置中启用了有关"覆盖弃用的Objective-C方法"()的警告,但我不能忽略它

#pragma clang diagnostic push
#pragma clang diagnostic ignored "CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS"

- (void) deprecated_objc_method_override {
}

#pragma clang diagnostic pop
Run Code Online (Sandbox Code Playgroud)

objective-c pragma clang suppress-warnings

11
推荐指数
2
解决办法
5273
查看次数