C和C++的关系

原创 2015年11月20日 22:36:58

面试题1:在C++程序中调用被C编译器编译后的函数,为什么要加extern“C”?

//extern可置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此变量或函数时,在其它模块中寻找其定义。另外,extern也可用来进行链接指定。

答案: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或者MATLAEAB编写计算组件(如COM)

//Fortran源自于"公式翻译"(英语:FormulaTranslation)的缩写,是一种编程语言。它是世界上最早出现的计算机高级程序设计语言,广泛应用于科学和工程计算领域。FORTRAN语言以其特有的功能在数值、科学和工程计算领域发挥着重要作用。Fortran 90之前的版本是人们所知晓的FORTRAN(全部字母大写),从Fortran 90以及以后的版本都写成Fortran(仅有第一个字母大写)。


大规模用户界面相关的软件可以考虑使用.NET进行开发(windows环境下),同时.NET对数据库的访问的支持也很好。


版权声明:本文为博主原创文章,未经博主允许不得转载。

C和C++到底有什么关系

注:转载于C语言中文网 C++ 读作”C加加“,是”C Plus Plus“的简称。顾名思义,C++是在C的基础上增加新特性,玩出了新花样,所以叫”C Plus Plus“,就像 iPhone 6S ...
  • czg13548930186
  • czg13548930186
  • 2016年08月30日 23:35
  • 4053

java和C和C++关系

java和C以及C++ 直接关联,java继承了C的语法,java的对象模型是从C++改编而来的.java和C以及C++关系之所以重要,下面几个就是原因: ①如果一个程序员熟悉C以及C++语法,那么...
  • qq_34337272
  • qq_34337272
  • 2016年11月04日 09:56
  • 1276

C与C++的区别与联系

(1)C++与C语言相比有何特点 的的
  • zhonghua18517
  • zhonghua18517
  • 2014年08月13日 14:50
  • 3502

C与C++在opencv中的区别

Opencv官方文档中提供的接口类型有c的,也有C++的,其实这两者之间并没有什么区别,或者更精确地说,区别很小,我所知道的只有一个,下面会介绍。首先,这里是一个关于用C还是C++的问题(http:/...
  • zxjor91
  • zxjor91
  • 2015年06月28日 20:20
  • 838

C++ 面向对象(三)—— 类之间的关系

友元函数(Friend functions) 在前面的章节中我们已经看到了对class的不同成员存在3个层次的内部保护:public, protected 和 private。在成员为 protec...
  • zqixiao_09
  • zqixiao_09
  • 2016年05月22日 12:39
  • 2205

JNI中java类型与C/C++类型对应关系及接口写法

1.了解JNI中JAVA类型与C/C++的映射关系 JAVA类型 本地类型 JNI中自定义类型 描述 int long jint/jsize signed 32 bits ...
  • haohaojian
  • haohaojian
  • 2017年06月06日 14:05
  • 474

C++与C#数据类型对应关系总结

API与C#的数据类型对应关系表 API数据类型 类型描述 C#类型 API数据类型 类型描述 C#类型 WORD 16位无符号整数...
  • u010159842
  • u010159842
  • 2016年06月20日 14:27
  • 2088

C字符串和C++字符串的区别

C字符串和C++字符串   在C中,并没有字符串这个数据类型,而是使用字符数组来保存字符串。C字符串实际上就是一个以null('\0')字符结尾的字符数组,null字符表示字符串的结束。需要...
  • tuolaji8
  • tuolaji8
  • 2016年05月10日 14:03
  • 1216

C++中的继承关系

C++中的继承关系 一、继承概念 继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能。这样产生新的类,称派生类。继...
  • eagle_1036077338
  • eagle_1036077338
  • 2016年11月08日 12:50
  • 1219

Matlab与C/C++/Java的一些区别

Matlab与C/C++/Java的一些区别
  • jzj1993
  • jzj1993
  • 2014年02月08日 15:42
  • 2489
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C和C++的关系
举报原因:
原因补充:

(最多只允许输入30个字)