找工作 C++面试资料之问答题整理
在 C++ 程序中调用被 C 编译器编译后的函数,为什么要加 extern “C”? 答:首先,extern 是 C/C++语言中表明函数和全局变量作用范围的关键字, 该关键字告诉编译器,其声明的函数和变量可以在本模块或其它模块中使用。 通常,在模块的头文件中对本模块提供给其它模块引用的函数和全局变量以关键字 extern 声明。extern C是连接申明(linkage declaration),被 extern C
修饰的变量和函数是按照 C 语言方式编译和连接的。作为一种面向对象的语言, C++支持函数重载,而过程式语言 C 则不支持。函数被 C++编译后在符号库中的名字与 C 语言的不同。例如,假设某个函数的原型为:void foo( int x, int
y );该函数被 C 编译器编译后在符号库中的名字为_foo,而 C++编译器则会产
生像_foo_int_int 之类的名字。这样的名字包含了函数名、函数参数数量及类型信息,C++就是靠这种机制来实现函数重载的。
所以,可以用一句话概括 extern “C”这个声明的真实目的:解决名字匹配问题,实现 C++与 C 的混合编程。
头文件中的 ifndef/define/endif 有什么作用?
答:这是 C++预编译头文件保护符,保证即使文件被多次包含,头文件也只定义一次。
#inc
您可能关注的文档
最近下载
- 祠堂祭拜活动方案策划(3篇).docx
- LVM24S20控制器数据手册V1.03_20200423.pdf VIP
- 人行天桥钢结构安装应急预案.docx
- 2024年金华市磐安县国有企业招聘聘真题含答案.docx VIP
- 苏科版八年级物理上册第1章 声现象 提优训练(原卷版).docx VIP
- 2024年湖南省常规选调生考试真题.docx VIP
- 安德鲁马丁国际室内年度大奖720102011获奖作品7.pdf
- 第一单元 精神 信仰 力量 情感没有共产党就没有新中国 课件 湘艺版2025音乐七年级上册.pptx VIP
- 安徽农业大学《计算机图形学》2024 - 2025 学年第一学期期末试卷.pdf VIP
- 一种S频段卫星通信相控阵天线设计.pdf VIP
原创力文档

文档评论(0)