第1题:
系统调用、库函数的区别和练习
从实现者角度观察,库函数是在系统调用上层的函数,库函数一般指程序员可以使用的通用函数。系统调用由两部分组成:
(1)核心函数:是实现系统调用功能的代码,作为操作系统的核心驻留在内存中,是一种共享代码。运行在核心态。
(2)接口函数:是提供给应用程序的API,以库函数的形式存在于Linux的lib.a中,该库中存放了所有系统调用的接口函数的目标代码,用汇编语言书写。其主要功能是把系统调用号,入口参数地址传给相应的核心函数,并使用户态下运行的应用程序陷入核心态。
第2题:
下列关于系统功能调用的论述中正确的一条是()。
A、在运行系统调用时,可由用户程序直接通过函数调用指令转向系统调用处理程序。
B、在运行系统调用时,用户程序必须执行系统调用指令(或访管指令),并通过陷入中断(或软中断)转向系统调用处理程序。
C、在运行系统调用时,用户程序必须通过外部的硬件中断,转向系统调用处理程序。
D、在运行系统调用时,用户程序可直接通过转移指令转向系统调用处理程序。
第3题:
A、被调用函数必须是已经存在的函数、库函数或用户已定义过的函数
B、没有头文件也可以对库函数进行调用
C、如果使用用户自定义的函数,还要在主调用函数中说明用户函数的返回值类型。
D、在主函数main()中可以调用其他函数,其他函数也可以相互调用
第4题:
一个C程序由函数A、B、C和函数P构成,在函数A中分别调用了函数B和函数C,在函数B中调用了函数A,且在函数P中也调用了函数A,则可以说( )
A.函数B中调用的函数A是函数A的间接递归调用
B.函数A被函数B调用是函数A间接递归调用
C.函数P直接递归调用了函数A
D.函数P中调用的函数A是函数P的嵌套
第5题:
在一般的过程调用中,其调用程序和被调用程序都运行在相同的状态,即系统态和用户态。()
第6题:
一个C++程序由函数A( ),B( ),C( )和函数P( )构成,在函数A( )中分别调用了函数B( )和函数C ( ),在函数B( )中调用了函数A( ),且在函数P( )中也调用了函数A( ),则可以说
A.函数B( )中调用的函数A( )是函数A( )的间接递归调用
B.函数A( )被函数B( )调用是直接递归调用
C.函数P( )直接递归调用了函数A( )
D.函数P( )中调用的函数A( )是函数P( )的嵌套
第7题:
构造函数和析构函数既可以由程序员调用,也可以由系统自动调用。()
第8题:
以下正确的说法是
A.用户若需调用标准库函数,调用前必须重新定义
B.用户可以重新定义标准库函数,若如此,该函数将失去原有含义
C.系统根本不允许用户重新定义标准库函数
D.用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动调用
第9题:
下列构造方法的调用方式中,正确的是( )。
A.按照一般方法调用
B.由用户直接调用
C.只能通过new自动调用
D.被系统调用
第10题:
以下正确的说法是( )。
A.用户若需调用标准库函数,调用前必须重新定义
B.用户可以重新定义标准库函数,若重新定义,该函数将失去原有含义
C.系统根本不允许用户重新定义标准库函数
D.用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统会自动调用