红联Linux门户
Linux帮助

某公司Linux平台C程序员面试时问的问题

发布时间:2008-04-25 01:23:49来源:红联作者:Aqtli
1、你做的项目代码有多少行?
2、C语言中volatile关键字的作用是什么?
3、怎样编写守护进程
4、IPC有几种
5、创建管道时用哪个系统调用
6、Bash的问题
7、一个进程在内存中的结构

除了第一个,哪位Linux高手给后面六道题的答案呀。
文章评论

共有 1 条评论

  1. gongji110 于 2008-04-25 09:52:57发表:

    1.C语言中volatile关键字的作用是:
    一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。
    一般说来,volatile用在如下的几个地方: 1、中断服务程序中修改的供其它程序检测的变量需要加volatile; 2、多任务环境下各任务间共享的标志应该加volatile; 3、存储器映射的硬件寄存器通常也要加volatile说明,因为每次对它的读写都可能由不同意义; 另外,以上这几种情况经常还要同时考虑数据的完整性(相互关联的几个标志读了一半被打断了重写),在1中可以通过关中断来实现,2中可以禁止任务调度,3中则只能依靠硬件的良好设计了。 [fzq21ic]答: 简单点:就是该变量会以编译器无法预知的方式发生变化,请编译器不要做优化(所有的编译器的优化均假设编译器知道变量的变化规律)
    2.IPC(interprocess communication)有以下几种;
    <1>.管道,分为有名管道(FIFO)和无名管道;
    <2> 共享内存;
    <3> 映射内存;
    <4> 信号灯和消息队列;
    3. 使用函数pipe创建管道:
    #include
    int pipe(int filedes[2]);
    只能说这么多了,其他的我也不知道了。
    看来这个公司要求的挺高阿。