在Linux、C程序中触发系统调用?
当下面的C程序在Linux中运行时,执行哪一行必须触发系统调用,为什么?什么是系统调用的调用在Linux、C程序中触发系统调用?,c,linux,operating-system,C,Linux,Operating System,当下面的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);
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操作
系统调用的调用是对操作系统服务的调用。对
malloc
的调用调用系统调用,因为操作系统管理内存
调用scanf
和printf
调用系统调用,因为操作系统管理i/o操作
系统调用的调用是对操作系统服务的调用。在大多数情况下,malloc()只能访问管理C堆空间的子分配器。malloc()调用可以调用系统调用来尝试扩展堆空间。
malloc()
不是C语言的一部分。它是libc
库的一部分,由系统调用包装器和定义组成。因此,调用malloc()
总是会导致系统崩溃call@user3629249我想你们中的一个应该提供一个链接。@我想你们中的一个应该提供一个链接。在大多数情况下,malloc()只能到达管理C堆空间的子分配器。malloc()调用可以调用系统调用来尝试扩展堆空间。malloc()
不是C语言的一部分。它是libc
库的一部分,由系统调用包装器和定义组成。因此,调用malloc()
总是会导致系统崩溃call@user3629249我想你们中的一个应该提供一个链接。@MartinJames,我想你们中的一个应该提供一个链接。