• C/C++笔试面试系列之一


    1.在C++程序中调用被C编译器编译后的函数,为什么要加extern "C"?

    答案:C++语言支持函数重载,C语言不支持函数重载。 函数被C++编译后在库中的名字与C语言的不同。 假设某个函数的原型为void foo(int x, int y)。 该函数被C编译器编译后在库中的名字为_foo,而C++编译器则会产生像_foo_int_int之类的名字。C++提供了C连接交换指定符号extern "C"解决名字匹配问题。

    2.头文件中的ifndef/define/endif是干什么用的?

    答案:防止该头文件被重复引用。

    3.评价一下C与C++的各自特点。 如果一个程序既需要大量运算,又要有一个好的用户界面,还需要与其他软件大量交流,应该怎样选择合适的语言?

    答案:C是一种结构化语言,重点在于算法和数据结构。 C程序的设计首先考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。 而对于C++,首先考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。对于大规模数值运算,C/C++Java/.NET之间没有明显的性能差异。 不过,如果运算设计向量计算、 矩阵运算,可以使用FORTRAN或者MATLAB编写计算组件(如COM)。大规模用户界面相关的软件可以考虑使用.NET进行开发(Windows环境下),而且.NETCOM之间的互操作十分容易,同时.NET对数据库访问的支持也相当好。

  • 相关阅读:
    Spring Boot整合JPA
    Emmet Cheat Sheet All In One
    CCTV《航拍中国》系列视频 All In One
    上海市税务局服务 All In One
    CCTV 天气预报 All In One
    Next.js Tutorials All In One
    如何使用 GitHub Actions 发布 Gatsby 静态网站 All In One
    GitHub Code Security & Code Scanning All In One
    数字滚动显示组件 All In One
    Gatsby plugins All In One
  • 原文地址:https://www.cnblogs.com/shutter/p/4746378.html
Copyright © 2020-2023  润新知