📜  门| GATE-CS-2004 |问题 9

📅  最后修改于: 2021-09-26 03:28:31             🧑  作者: Mango

考虑一个程序 P,它由包含在两个不同文件中的两个源模块 M1 和 M2 组成。如果 M1 包含对 M2 中定义的函数的引用,则该引用将在
(A)编辑时
(B)编译时
(C)链接时间
(D)加载时间答案: (C)
解释:

笔记:
静态链接在链接时完成,动态链接或共享库仅在运行时引入。

(A) 编辑时:永远不能在编辑时或代码编写时给出/确定函数引用。函数引用不同于函数名。函数名称在编辑时使用,而函数引用在静态库的链接器时或动态库的运行时确定。

(B) 编译时:编译时绑定是针对同一文件或模块中存在的函数完成的。

(C) 链接时:链接时绑定在链接器阶段完成,其中存在于单独文件或模块中的函数在可执行文件中被引用。

(D) 加载时:函数引用不是在加载时完成的。

因此,正确答案是(C)。

此解决方案由Vineet Purswani 提供
这个问题的测验