当下面的C程序在Linux中运行时,哪一行的执行必须触发系统调用的调用,为什么?什么是调用系统调用?
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
}
最佳答案
调用 malloc
会调用系统调用,因为操作系统管理内存。
调用 scanf
和 printf
调用系统调用,因为操作系统管理 i/o 操作。
系统调用的调用是对操作系统服务的调用。
关于c - 在Linux、C程序中触发系统调用的调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34929971/