资料内容:
面试例题 4:在 C++ 程序中调用被 C 编译器编译后的函数,为什么要 加 extern"C"?
答案 : C++ 语言支持函数重载,C 语言不支持函数重载。函数被 C++ 编译后在库中的名字与 C 语言的不同。假设某个函数的原型为 void foo(int x, int y),该函数被 C 编译器编译后在库中的名字为 _foo, 而 C++ 编译器则会 产生像 _foo_int_int 之类的名字。 C++ 提供了 C 连接交换指定符号 extern "C" 解决名字匹配问题。
面试例题 5:评价一下 C 与 C++ 的各自特点。如果一个程序既需要大 量运算,又要有一个好的用户界面,还需要与其他软件大量交流,应该怎样 选择合适的语言 ?
答案 : C 是一种结构化语言,重点在于算法和数据结构。C 程序的设计 首先考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到 输出(或实现过程(事务)控制)。而对于 C++,首先考虑的是如何构造 一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获 取对象的状态信息得到输出或实现过程(事务)控制