c __cplusplus详解

c __cplusplus详解

Code:
#ifdef __cplusplus
extern “C” {
#endif

#ifdef __cplusplus
}
#endif
解释:1.c++中定义了__cplusplus,C语言中没有该定义。即:识别是c代码还是c++代码。

如下段代码:

#include <stdio.h>

int main(int argc,char *argv[])

{

#ifdef __cplusplus

printf(“This is a c ++ program!\n”);

#endif

#ifndef __cplusplus

printf(“This is a c program!”);

#endif

reutrn 0;

}

分别编译:gcc test.c

./a.out

g++ test.c

./a.out

看到程序输出内容你便知道了。

解释2.C语言和C++编译出来的函数不用,调用extern “C”会让c++编译器按照c的编译格式来编译。多用于c++库的头文件。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/108892.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 将原字符串(自定义)按字符的ASCII 码值顺序排序后输出_字符串逆序输出java

    将原字符串(自定义)按字符的ASCII 码值顺序排序后输出_字符串逆序输出java将string的各个字符按照ASCII排序后,重新生成一个string的代码

    2022年4月21日
    42
  • ftp扫描软件下载_哪国最爱运动

    ftp扫描软件下载_哪国最爱运动不知道大家用过哪几种ftp扫描工具,是不是感觉都是大同小异的呢?其实市面上的ftp扫描工具功能都是差不多的,当然也还是有一点差别的,那一点的差别可能就是我们选择那一种ftp扫描工具的原因。不论怎么说,也都是要选择自己喜欢的ftp扫描工具来使用。第一款:IIS7服务器管理工具这款工具里面的ftp扫描工具体验感是比较好的,除了一般ftp扫描工具里面都有的批量管理,它还有很多自己设计的功能。可以说这就是它成功的关键。它还能够进行定时上传下载、定时备份和多任务同时进行。哦对,它还有自动更新的功能。IIS7服务

    2022年10月1日
    2
  • oracle锁表处理三步骤

    oracle锁表处理三步骤selectsession_idfromv$locked_object; –425SELECTsid,serial#,username,osuserFROMv$sessionwheresid=425;ALTERSYSTEMKILLSESSION’425,9613′;

    2022年6月16日
    33
  • 《数据结构导论自考知识点(自己总结)》「建议收藏」

    《数据结构导论自考知识点(自己总结)》「建议收藏」《数据结构导论自考知识点》一、线性表:1、插入:从后往前挪,删除:从前往后挪2、顺序存储(方式:for循环)3、链式存储:{单链表的一个结点由两部分组成,数据元素和指针。datanext^^数据指针}二、栈、队列:4、栈:top++入栈,top–出栈5、队列:顺序队列,出队操作队首,指针后移一位,front=(front+1)%习题:一个二维数组,…

    2022年8月18日
    4
  • PetaLinux学习笔记 1

    PetaLinux学习笔记 1迟迟没有做底板,所以只能把Linux写到FLASH上了。还好这个FLASH够大。官方所说的有点问题,最后一句改成petalinux-package–boot–fsbl~/FTP_Folder/ax_peta/images/linux/zynq_fsbl.elf–fpga–u-boot–kernel–force再烧进去就可以跑了。手册ug821有说明,先搞清楚它…

    2025年11月1日
    5
  • vue-router 报错:Navigation cancelled from“/…“ to “/…“ with a new navigation.

    vue-router 报错:Navigation cancelled from“/…“ to “/…“ with a new navigation.vue-router@3.0版本及以上回调形式已经改成promiseapi的形式了,返回的是一个promise,如果路由地址跳转相同,且没有捕获到错误,控制台始终会出现如图所示的警告(注:3.0以下版本则不会出现以下警告!!!,因路由回调问题…)*怎么解决呢?方案一:安装vue-router3.0以下版本:先卸载3.0以上版本然后再安装旧版本npminstallvue-router@2.8.0-S方案二:针对于路由跳转相同的地址添加catch捕获一下异常:this.$router.

    2022年7月26日
    123

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号