转码:gcc在代码中禁止某些warning

http://www.itye.org/archives/3125

gcc 禁止warning

熟悉windows编程的人都知道,禁止编译器输出某个warning,在代码中可以这样

#pragma warning( disable 号码)

例如

#pragma warning(disable 4096)

这里的4096是warning的号码,

在gcc中warning是直接使用名字代表,而不是数字,例如 未使用的变量的 warning就是

-Wunused-variable

gcc的禁止warning的语法是

#pragma GCC diagnostic ignored warning的名字

例如

#pragma GCC diagnostic ignored "-Wunused-variable"

windows支持只在某一段代码使用某个编译选项控制那么就是

#pragma warning(push)

#pragma xxxxx

yyyyyyyyyyyyyyyyyyy

#pragam warning(pop)

而windows使用

#pragma GCC diagnostic push

#pragma xxxx

yyyyyyyyyyyyy

#pragma GCC diagnostic pop

例如

#pragma GCC diagnostic push

#pragma GCC diagnostic ignored "-Wunused-variable"

int unused,i;

#pragma GCC diagnostic pop

时间: 2024-08-03 19:42:30

转码:gcc在代码中禁止某些warning的相关文章

在代码中动态设置android里View的边距

有时候需要动态设置某个View的位置,如果在布局文件中写则其布局已定. 这时可以通过在代码中根据不同的需要增加判断后,在设定边距等. 如下. 需要说下,setMargins() 方法.其括号中的四个参数依次对应的方位为-- 左,上,右,下. 左即指View的左边距. 代码来自mtk android 源码. 在代码中动态设置android里View的边距

php中禁止单个ip与ip段访问的代码小结

1.禁止单个IP <?php //IP访问限制 if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) { $userip = getenv('HTTP_CLIENT_IP'); } elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown

linux内核分析第四周-使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用

本周作业的主要内容就是采用gcc嵌入汇编的方式调用system call.系统调用其实就是操作系统提供的服务.我们平时编写的程序,如果仅仅是数值计算,那么所有的过程都是在用户态完成的,但是我们想将变量打印在屏幕上,就必须调用printf,而printf这个函数内部就使用了write这个系统调用.操作系统之所以以system call的方式提供服务,是因为如果程序员能够任意操作OS所有的资源,那么将无比危险,所以OS设计出了内核态和用户态. 我们平时编程都是在用户态下,如果我们想要调用系统资源,那

跳转常规 -- 为什么不要使用404、500等http状态码作为业务代码响应

不要使用HTTP状态码作为业务代码响应 HTTP状态码 是指浏览器访问网址,成功或异常时浏览器或服务器告知用户的代码数字,它指的是网络或服务器的状态,有着不同的含义. 参加MDN.Java Api,常见的状态码: 200 OK 请求成功 301 重定向 400 错误请求 401 需要访问授权,通常是basic授权 403 禁止访问该地址 404 访问地址不存在 500 服务器异常 业务代码 业务代码是业务流程中可能产生的结果,比如:用户密码不正确.用户不存在.订单不存在.第三方api请求错误等.

实验--使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用(杨光)

使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用 攥写人:杨光  学号:20135233 ( *原创作品转载请注明出处*) ( 学习课程:<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 实验要求: 选择一个系统调用(13号系统调用time除外),系统调用列表参见http://codelab.shiyanlou.com/xref/linux-3.18.6/arch/x86/syscalls/sys

storm源码之storm代码结构【译】【转】

[原]storm源码之storm代码结构[译] 说明:本文翻译自Storm在GitHub上的官方Wiki中提供的Storm代码结构描述一节Structure of the codebase,希望对正在基于Storm进行源码级学习和研究的朋友有所帮助. Storm的源码共分为三个不同的层次. 首先,Storm在设计之初就考虑到了兼容多语言开发.Nimbus是一个thrift服务,topologies被定义为Thrift结构体.Thrift的运用使得Storm可以被任意开发语言使用. 其次,Stor

storm源码之理解Storm中Worker、Executor、Task关系【转】

[原]storm源码之理解Storm中Worker.Executor.Task关系 Storm在集群上运行一个Topology时,主要通过以下3个实体来完成Topology的执行工作:1. Worker(进程)2. Executor(线程)3. Task 下图简要描述了这3者之间的关系:                                                    1个worker进程执行的是1个topology的子集(注:不会出现1个worker为多个topology服

解决Android中,禁止ScrollView内的控件改变之后自动滚动

问题: 最近在写一个程序界面,有一个scrollVIew,其中有一段内容是需要在线加载的. 当内容加载完成后,ScrollView中内容的长度会发生改变,这时ScrollView会自动下滚,如下图所示: 滚动的那一下体验特别不好,所以要防止这种情况.即不论Scrollview中内容如何,都要保持在最上. 解决办法: 先简单写一下我的xml文件的结构: [html] view plaincopy <ScrollView android:id="@+id/scrollView1" a

WPF在代码中创建DataTemplate时候的异常

今天写段程序用到了在代码中手动创建DataTemplate, var factory = new FrameworkElementFactory(typeof(OperationColumn));    returnnewDataTemplate() { VisualTree = factory }; 运行的时候出现如下异常: FrameworkElementFactory 必须位于此操作的密封模板中. 在 System.Windows.FrameworkElementFactory.Insta