当前位置:  技术问答>linux和unix

警告:ISO C90 不允许混合使用声明和代码

    来源: 互联网  发布时间:2016-08-26

    本文导语:  unsigned long errnum; struct eddev_device *edp; struct task_struct *tsk = current; edp = (struct eddev_device *)file->private_data; DECLARE_WAITQUEUE(wait, tsk);---140 add_wait_queue(&edp->rwait, &wait); ... 使用这段代码时出了一个告警: 140: 警告:ISO...

unsigned long errnum;
struct eddev_device *edp;
struct task_struct *tsk = current;

edp = (struct eddev_device *)file->private_data;
DECLARE_WAITQUEUE(wait, tsk);---140
add_wait_queue(&edp->rwait, &wait);
...
使用这段代码时出了一个告警:
140: 警告:ISO C90 不允许混合使用声明和代码
不知什么原因导致这个警告

|
DECLARE_WAITQUEUE(wait, tsk); ---140

这个宏是什么样子的?后面那个---140是啥?

|
说得简单一点

int main(void)
{
  printf("hello worldn");
  int i=0;
  return i;
}

在c89/90 标准里,一个函数里变量的定义要放在代码段前面,所以会警告int i=0;不符标准
你把那个宏展开看看就知道了 使用gcc -I
可以无视这个警告 

|
绝大多数警告可以忽略。

检查DECLARE_WAITQUEUE(wait, tsk)这个宏的定义。

|
C90不允许混合使用声明和代码,C99可以。

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • JavaScript中的消息框(警告框,确认框,提示框)语法
  • 装有DB2的SCO UNIX系统运行中,出现警告提示...请问此警告是什么意思,如何解决?
  • 修改警告问题
  • JSP警告
  • 关于gcc的编译信息中的警告的问题
  • 警告问题
  • 消除js以及jsp文件中的警告方法
  • linux at 命令出现警告
  • gcc编译CORBA程序如何关闭智能指针转换为普通指针的警告
  • 一个很郁闷的警告信息~~~怎么解决掉它呢?
  • 我在JB6中出现以下警告,这是什么问题?谢谢!
  • 如何去除64位指针赋给int时的编译警告?
  • 问个简单编译警告问题
  • gtk编程中的警告错误啊,怎么解决啊?????
  • 求助:下面的警告怎么解决?——关于Linux的Session
  • c++警告错误
  • main.c:252:警告:隐式声明函数 `funcDef`
  • 请教socket通信中的一个小问题,打印客户端的地址会发出警告
  • linux c 警告left-hand operand of comma 不起作用
  • php弹出错误警告函数
  • 请问如何消去java.awt.window中的“警告 Applet 窗口”字样??!!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3