在Linux,C程序中触发系统调用的调用?

时间:2016-01-21 17:08:31

标签: c linux operating-system

当在Linux下运行以下C程序时,执行哪一行必须触发系统调用的调用,为什么?什么是系统调用的调用?

void main()
{
    double x=1;
    double y;
    double *z;

    z=(double *)malloc(sizeof(double)); // line 1
    scanf("%f", &y);                    // line 2
    *z=sqrt(y);                         // line 3
    y=y*2.0;                            // line 4
    printf("y=%f, *z=%f\n", y, *z);     // line 5
    y=y/x;                              // line 6 
    printf("y=%f",y);                   // line 7
}

1 个答案:

答案 0 :(得分:3)

malloc的调用会调用系统调用,因为操作系统会管理内存。

调用scanfprintf调用系统调用,因为操作系统管理i / o操作。

调用系统调用是对操作系统服务的调用。