赞
踩
在 .h 文件中声明 C 函数的原型是让 C++ 工程认识 C 工程编译出来的库文件的关键。下面是一种常见的做法:
在 .h 文件中声明函数原型: 创建一个 .h 文件,其中包含要在 C++ 代码中调用的 C 函数的声明。这些声明应该使用 extern “C” 包裹,以确保 C++ 编译器正确地处理这些函数声明。示例:
// mylib.h #ifndef MYLIB_H #define MYLIB_H #ifdef __cplusplus extern "C" { #endif // 声明要在 C++ 代码中调用的 C 函数 void my_function(); #ifdef __cplusplus } #endif #endif // MYLIB_H
在 C++ 代码中包含头文件并调用函数: 在你的 C++ 代码中包含上面创建的 .h 文件,并调用其中声明的函数。示例:
// main.cpp
#include "mylib.h" // 包含头文件
int main() {
my_function(); // 调用声明的 C 函数
return 0;
}
编译时链接 C 编译生成的库文件: 在编译 C++ 代码时,需要将 C 编译生成的库文件链接到可执行文件中。例如,假设你有一个叫做 libmylib.a 的静态库文件,你可以这样编译:
g++ main.cpp -o my_program -L/path/to/library -lmylib
其中,-L 用于指定库文件的路径,-lmylib 用于链接名为 libmylib.a 的库文件。这样编译后的可执行文件就能够调用库中的函数了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。