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的关系

  • 2014-05-04 17:15
  • 595KB
  • 下载

C/C++中二维数组和指针关系分析

C++

C/C++ 类关系

  • 2013-11-17 15:43
  • 267KB
  • 下载

java和C和C++关系

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

C++与C的关系.pdf

  • 2009-11-03 22:12
  • 487KB
  • 下载

JNI中java类型与C/C++类型对应关系

在如下情况下,需要在本地方法中应用java对象的引用,就会用到类型之间的转换:   1)java方法里面将参数传入本地方法; 2)在本地方法里面创建java对象; 3)在本地方法里面return...

C/C++ 数组与地址的关系

fr:http://www.mianwww.com/html/2012/04/16182.html?1341847976 i found the topic from the above link,...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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