LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: sybaselu

这几种函数有何区别?

[复制链接]
发表于 2004-7-30 16:32:42 | 显示全部楼层
最初由 sybaselu 发表
是不是类似下面的一样,如果是那我趋向楼主说的!可是我看过源码,好像没有这样的函数指针!
typedef struct file_operation{
int (*seek)(struct inode *, struct file *)
int (*open)(struct inode *, struct file *)
int (*close)(struct inode *, struct file *)
int (*ioctl)(struct inode *, struct file *)
int (*write)(struct inode *, struct file *)
int (*read)(struct inode *, struct file *)
int (*fnasyc)(struct inode *, struct file *)
}
sturct file_operation xxxx={
       .open=     void_open();
       .read=     void_read();
       .write=    void_wirte();
         ................
}
楼主能否再大胆推测一下applets.h的头文件的作用?


宏函数而已,用来初始化静态的applets数组。也就是说,它的作用是把xxx_main和applets->main挂钩起来,然后在busybox的main里使用applets[]。
发表于 2004-7-30 16:44:23 | 显示全部楼层
呵呵,楼上果然才思敏捷
发表于 2004-7-30 16:46:30 | 显示全部楼层
最初由 doubleelec 发表
呵呵,楼上果然才思敏捷

ps:其实无论什么源码,庞大的如内核,小的如busybox,都离不开基本的知识应用。
发表于 2004-7-30 19:21:52 | 显示全部楼层
呵呵,教主年轻有为,自命不凡呀!
其实程序都是人写的,如果你掌握了这个程序的设计思路,不需要看完全部的源代码,就能知道它的整体布局和总体设计思想。就和打游戏一样,某种类型的游戏玩多了,有了新游戏,既使一点没玩过,自然就会知道应该怎么玩。
发表于 2004-8-2 14:23:32 | 显示全部楼层
主函数main()怎能被非主函数调用呢?
发表于 2004-8-2 14:49:35 | 显示全部楼层
楼上指的是什么?
前面的讨论并没有出现"主函数main()被非主函数调用"的情况呀?

就这句话而言,我用gcc试了一下
主函数main()确实可以被非主函数调用
发表于 2004-8-2 15:32:54 | 显示全部楼层
源码:--------------------------------------------------------------------------------
void
run_applet_by_name (const char *name, int argc, char **argv)
{
      ...
        exit ((*(applet_using->main)) (argc, argv));]
      ...
}
--------------------------------------------------------------------------------

调用main,相当于调用xxx_main!见下!
发表于 2004-8-2 15:41:57 | 显示全部楼层
applet_using->main是XXX_main的指针,不是main
发表于 2004-8-2 16:42:37 | 显示全部楼层
main不过是默认的代码入口(当然你也可以指定从任何你喜欢的函数开始程序),其他和普通函数一样的。
发表于 2004-8-3 09:13:27 | 显示全部楼层
请教在C语言中如何"指定从任何你喜欢的函数开始程序" ?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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