当前位置:   article > 正文

C++调用C中的函数 相互调用 C++函数,类,空间名、类对象等_c调用c++函数时,需要给c++函数声明加上

c调用c++函数时,需要给c++函数声明加上

先解决一下这个博主问题

C中如何调用C++函数 - franksunny的个人技术空间 - C++博客

http://www.cppblog.com/franksunny/archive/2007/11/29/37510.html

都注释都可以 

1.扩展名改为.c

2.注释#include "stdafx.h" 加上#include <stdio.h>

3.改为不使用预编译头

OK.

  • C++调用C中的函数

extern 关键字告诉编译器,其声明的函数和变量可以在本模块或其它模块中使用。被extern "C"修饰的变量和函数是按照C语言方式编译和连接的。 

C语言:头文件 函数声明,.c文件 函数实现

  1. //告诉C++这段代码是C函数
  2. #ifdef __cplusplus
  3. extern "C" {
  4. #endif
  5. //C头文件或C函数
  6. #ifdef __cplusplus
  7. }
  8. #endif

不加也行。 

 

不加头文件,加extern "C"也行。

 这样也行。我认为这样是最好的方式,C语言不用动。C++里也不用声明这些函数。

 不管哪种都是

  1. extern "C"
  2. {
  3. C头文件或C函数声明
  4. }

 

 

  • C中调用C++函数

  

1.定义一个包装文件.cpp

extern "C"
{

要调用的C++函数

2.在.c中

extern 函数声明 。不加extern也行,但要声明。声明中如果有类名,用结构体指针替代。调用时直接写NULL。为什么填NULL能访问?

 把类对象弄成 结构体

 C++:函数,类,空间名等

C++调用C函数,让编译器用C编译C语言

OK。

解决:错误    D8016    “/ZI”和“/Gy-”命令行选项不兼容    cCallCppDemo

改成Gy OK。

解决“错误D8016“/ZI”和“/Gy-”命令行选项不兼容”问题_LYJ_viviani的博客-CSDN博客_zi和gy命令行选项不兼容

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/309985
推荐阅读
相关标签
  

闽ICP备14008679号