Chinaunix首页 | 论坛 | 博客
  • 博客访问: 214363
  • 博文数量: 46
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 482
  • 用 户 组: 普通用户
  • 注册时间: 2014-07-18 14:14
个人简介

小菜鸟

文章分类

全部博文(46)

文章存档

2020年(2)

2017年(7)

2016年(36)

2014年(1)

我的朋友

分类: WINDOWS

2016-03-11 09:27:25

一 在C源文件中调用C++封装的接口

例如:

要想在A.c文件中,调用生命在B.h,实现在B.cpp中的接口bool getMAC(char *mac_addr);

其实现方法 B.cpp 如下:

点击(此处)折叠或打开

  1. // B.cpp

  2. #ifndef _cplusplus
  3. #define _cplusplus
  4. #endif

  5. #include <stdio.h>

  6. bool getMAC(char *mac_addr)
  7. {
  8.     // your code

  9. }
B.h 头文件的声明为:

点击(此处)折叠或打开

  1. // B.h

  2. #ifndef _B_H
  3. #define _B_H

  4. #ifdef __cplusplus //__cplusplus是cpp中自定义的一个宏
  5. extern "C" { //告诉编译器,这部分代码按C语言的格式进行编译,而不是C++
  6. #endif

  7. bool getMAC(char *mac_addr);

  8. #ifdef __cplusplus
  9. }
  10. #endif

  11. #endif
A.c 中正常调用即可

点击(此处)折叠或打开

  1. // A.c

  2. #include "B.h"
  3. #include <stdio.h>

  4. int main()
  5. {
  6.     bool bRet = false;
  7.     char chMac[16] = {0};

  8.     bRet = getMAC(chMac);

  9.     return 0;
  10. }



阅读(1926) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~