如何在c中使用c++函数

How to use c++ functions in c?

本文关键字:c++ 函数      更新时间:2023-10-16

C++可以通过extern "C"、使用C函数

c能以某种方式使用c++函数吗?

不是。您可以用C++编写一个"C兼容"函数,也就是说,在任何类或命名空间之外,并且其原型不使用类或引用。如果声明为extern "C",那么您可以从C调用这样一个函数。然后,该函数可以继续使用对它有用的任何C++功能。

同样,如果您将C++函数声明为extern "C"C将能够与其链接。

当谈到c++中的函数时,会想到两种类型:普通的老式独立函数和作为类一部分的成员函数。没有办法直接在C中使用第二种类型,因为它没有"object"的概念。请记住,成员函数有一个隐式"this"作为隐藏的第一个参数。

但是,如果使用外部"C"声明作为函数原型的一部分来修饰C中的第一种类型的函数,则可以使用它。这是告诉C++编译器在编译源代码时不要"篡改"函数名所必需的。

C只能将C++函数用作外部库中的函数。

更好的方法是在C++编译器的帮助下编译C代码。请看这里:http://www.velocityreviews.com/forums/t288284-calling-c-from-c.html