gpt4 book ai didi

c++ - 我可以在 C 程序中使用 C++ 库吗?

转载 作者:太空狗 更新时间:2023-10-29 19:40:04 25 4
gpt4 key购买 nike

我正在用 C 编写程序,但我想像使用 vector 一样使用动态库。是否可以在 C 程序中使用 C++ 库?

最佳答案

不是 std::vector,不是。任何模板化的东西都是正确的。

一般来说,使用 C++ 代码并不有趣,但可以做到。您必须将类包装在您的 C 代码可以调用的普通非类函数中,因为 C 不执行类。为了让这些函数在 C 中可用,您可以用 extern "C" 声明将它们包装起来,告诉 C++ 编译器不要进行名称修改。

然后您可以使用 C++ 编译器编译包装函数并创建一个库,您的 C 程序可以链接到该库。这是一个非常简单的例子:

// cout.cpp - Compile this with a C++ compiler
#include <iostream>

extern "C" {
void print_cout(const char *str) {
std::cout << str << std::endl;
}
}

/* print.c - Compile this with a C compiler */
void print_cout(const char *);

int main(void) {
print_cout("hello world!");
return 0;
}

关于c++ - 我可以在 C 程序中使用 C++ 库吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1658067/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com