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

诡异的问题,关于应用程序调用驱动内函数时的执行顺序

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

    本文导语:  应用程序代码: case (1): printf ("A"); printf ("B"); printf ("C"); ioctl (fd, DATA_WRITE, NULL); printf ("D");   continue; 对应的驱动程序代码:(ioctl中) case DATA_WRITE: printk ("E"); break; 理论上结果应该是ABDC,但是我...

应用程序代码:
case (1):
printf ("A");
printf ("B");
printf ("C");
ioctl (fd, DATA_WRITE, NULL);
printf ("D");  
continue;

对应的驱动程序代码:(ioctl中)
case DATA_WRITE:
printk ("E");
break;

理论上结果应该是ABDC,但是我实际的输出顺序是ABCED
做了很多实验,发现貌似与换行符有关:

1.其他不变,把“A”换成“An”,输出:
A
EBCD

2.其他不变,把“B”换成“Bn”,输出:
AB
ECD

3.其他不变,把“B”换成“nB”,输出:
A
EBCD

可见,在哪里加上n,n前面的就会在ioctl之前输出,甚至会出现3.那样输出n后马上跳到ioctl再跳回来输出剩下半句的诡异情况。

虽然我知道新手问问题的时候要有自己的判断,但是我想破脑袋也找不到任何合理的解释
求高手解答下!、

|
这没什么奇怪的吧, printf 是有缓冲区的, 并不是直接输出到屏幕上,
当遇到 n 或者 调用 fflush 的时候才会刷新的屏幕上。

而 kernel 态的 printk 和用户态的 printf 不同,它是直接把数据送到 tty 设备。优先级会比较高。

    
 
 

您可能感兴趣的文章:

  • 为什么我的BEAN 在WIN2000中调用没有问题,但在LINUX中调用有问题
  • 关于jsp调用javabean的问题!调用是成功了,但是有小问题!
  • 在jbuilder中调用一bean连接数据库没有问题,在jsp中调用就连接不上数据库
  • 关于《Unix网络编程》在ubuntu 8.04下运行的问题,服务器端阻塞在accept调用,客户端阻塞在connect调用,导致连接失败
  • (菜鸟飞飞)问个关于软中断和系统调用的问题
  • 关于Linux系统调用的问题!
  • 请教一个定时调用问题
  • 由于问题变化了,所以重新个贴子,是关于线程间函数调用及串口接收数据的问题?
  • 急,急,急-----------ejb部署调用问题????
  • so动态库相互调用问题?
  • C语言中函数声明与调用问题
  • 关于RPC远程过程调用的问题
  • cgi 中调用bash脚本问题?急 急 急
  • linux系统调用问题
  • 在*.so 中调用*.ko的函数的问题
  • linux系统调用表修改问题
  • 问一个很奇怪的线程调用的问题
  • 频繁调用popen的问题
  • JSP调用EJB的问题,急!急!急!
  • java调用存储过程问题。
  • 走虚拟网卡内核程序和走物理网卡应用程序结合问题
  • linux基础问题,configure,make生成应用程序问题
  • SPI应用程序问题
  • java应用程序的中文乱码问题。
  • s3c2410中断模块跟应用程序之间通信问题
  • shell脚本变量与应用程序同步的问题
  • java应用程序打包出现问题。
  • gtk编程问题,那个函数可以调用其它的应用程序
  • 嵌入式Linux下开发应用程序失败的问题
  • 关于如何关闭应用程序的问题。
  • 应用程序自启动的问题.
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 关于tty函数的read函数的小问题
  • 关于函数内声明函数问题?
  • 一个基本概念问题:静态函数只能调用静态方法,类的成员函数也是静态的吗?
  • 1。 新建目录的函数是那个? 2。Busybox对C的system函数支持没问题?
  • linux c入门问题,大家指教。system函数和exec函数的区别。
  • 使用tcgetattr函数与tcsetattr函数的问题
  • 两个链接库中函数同名的问题
  • 请教一个函数入口处的汇编问题(压栈问题)
  • pthread_create函数执行问题
  • 有关Java构造函数的问题之一——缺省性
  • Linux 中关于异步函数的问题
  • 关于如何使用内核函数的问题
  • 有关函数隐藏的问题
  • 救急!!linux驱动函数问题!!
  • 关于linux下多线程运行由同一函数指针传入不同函数体的问题
  • 请教套接字中的select()函数问题
  • usb_submit_urb函数的问题
  • statfs 函数问题问题!
  • execl函数问题 fork问题
  • 问一个静态变量和外部函数的问题。
  • 修改配置真正解决php文件上传大小限制问题(nginx+php)
  • 简单问题简单问题简单问题简单问题
  • 修改配置真正解决php文件上传大小限制问题(apache+php)
  • 小问题,急问题,重大问题!!!
  • sharepoint 2010中item.Update()和item.SystemUpdate 修改数据版本问题解决
  • 弱弱的一问,linux下的中文问题及网络问题,分不是问题
  • 八个问题帮你快速了解Docker
  • 请教两个小问题:一个cgywin下使用vi的问题,另一个socket的问题
  • 错误:将'const x'作为'x'的'this'实参时丢弃了类型限定问题解决
  • 网页的编码问题!或者java的编码问题,由此引出一条解决中文问题的思路
  • nginx Windows版相关问题及使用说明


  • 站内导航:


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

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

    浙ICP备11055608号-3