LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 4118|回复: 12

(新手请教) 什么是STDIN_FILENO,

[复制链接]
发表于 2004-8-13 10:09:40 | 显示全部楼层 |阅读模式
在google上查了半天也没搞清楚 STDIN_FILENO...

如果是一系列的东西,希望高手给个链接,能让我去看看.


另外:
     怎么linux下C 中竟然有public与protected之类的东西.
      eg:   public void el_end(EditLine *el)   {  ......  }
            protected int el_editmode(EditLine *el, ....) {......}
            程序中绝对不存在类
       why?
               

     这2天在看一个8M的源程序.  好多东西不懂
     高手能不能给点读程序建议.
发表于 2004-8-13 11:32:24 | 显示全部楼层
STDIN_FILENO 是标准输入的文件描述符
详见/usr/include/unistd.h

  1. /* Standard file descriptors.  */
  2. #define STDIN_FILENO    0       /* Standard input.  */
  3. #define STDOUT_FILENO   1       /* Standard output.  */
  4. #define STDERR_FILENO   2       /* Standard error output.  */
复制代码
 楼主| 发表于 2004-8-13 15:11:31 | 显示全部楼层
谢谢楼上的   !!!!!

那第2个问题谁能指导一下???不甚感激!!
发表于 2004-8-13 15:16:55 | 显示全部楼层
如果你确信那代码是纯C的
我猜想里面的
public,protected 可能是宏定义,比如

  1. #define  public        extern
  2. #define  protected     static
复制代码
发表于 2004-8-13 15:35:59 | 显示全部楼层
关于读程序,我的大概方法是:
(1)首先了解这个程序是作什么的,如何使用,这时还不用看源码,最好让程序运行起来试试

(2)了解程序功能与代码结构的大致对应关系,看看源码分几个目录,每个目录实现什么功能,目录下有哪些文件,每个文件大概实现什么功能,这时仍不用看源码(只需要根据文件名和里面的函数名望文生义一把),可以看看configure.in(或configure.ac), makefile.am, 如果不是automake的工程,就看makefile

(3)从main()开始粗略分析程序运行的过程,这时需要深入一些子程序,最好将程序的调用关系与大体功能记在纸上,否则明天又要重新看了,这时不需要对代码细节追究太多,主要是了解程序执行经历了怎样的一个过程。

(4)当对程序架构有了比较清晰的了解,有选择性的对你关心的代码进行详细分析,可以细到一字一句,相信整个代码中其实没有多少内容是需要详细分析的。

所以,要有信心,8M源代码,属于很小的程序了。
发表于 2004-8-13 16:00:42 | 显示全部楼层
难说哦,通常说代码大小,都是打了包的,万一他不幸拿到个8M的bz2,就爽到了,呵呵
 楼主| 发表于 2004-8-13 16:03:37 | 显示全部楼层
楼上的,太谢谢了!!!!!!!!
写的这么详细,

我会努力好好看!!

不努力也不行,项目赶的紧 没办法.
发表于 2004-8-15 19:04:02 | 显示全部楼层
8M阿~也不小阿

而且读代码的难度也不光是大小决定的~

linux 的源代码也不大的
发表于 2004-8-15 21:12:50 | 显示全部楼层
连STDIN_FILENO都没有搞清楚就去读8M的源代码,悬~~!
发表于 2004-8-15 22:47:53 | 显示全部楼层
最初由 kj501 发表
连STDIN_FILENO都没有搞清楚就去读8M的源代码,悬~~!


很多工作的新手,都会面临这样的尴尬   无奈~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表