
它也不是汇编指令,一般是一个宏定义,所以汇编也是查不到的。
linux内核可以调用ioremap把io端口映射到一个虚拟内存地址,这样可以把io端口的读写 *** 作统一为内存访问。
ioremap之后,outb可以向映射后的地址写一个字节,其效果相当于对映射的io端口写一个字节。
这个你应该有源代码才行#include <linux/***.h>是在linux-2.6.29/include/linux下面寻找源文件。
#include <linux/io.h>//包含了ioremap、iowrite等内核访问IO内存等函数的定义。
在C语言的头文件中对其进行了宏定义:1
libio.h:# define EOF (-1)
当读文件 *** 作时,遇到文件结束位置或读数据出错均会返回 EOF。 (C语言中所有的输入输出 *** 作均是按读文件的思想来设计的,或者说,是文件 *** 作的一种特例,如getchar()就是fgetc(stdin) 的一个宏 )
1
int getchar() //从标准输入缓冲区读取一个字符,成功返回该字符的ASCII值,出错,返回EOF
那么,如何在键盘输入时,产生EOF呢? 不同的系统方法不同:
linux系统下,在输入回车换行后的空行位置,按 ctrl+d (先按ctrl键,不放,再按d键)
windows系统下,在输入回车换行后的空行位置,按 ctrl+z,再回车确认
以下代码供参考:
1
2
3
4
5
6
7
8
9
#include <stdio.h>
void main()
{
int ch
do {
ch=getchar()
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)