C语言程序调用C++的库会有什么问题,能解决调用吗?? 当然可以,先建一个C++的静态库或动态库工程,把第三方库代码放进去,同时自己写一些函数做接口,包装一下对第三方库的调用。然后以extern "C"的形式导出函数。然后在纯C工程中,用头文件声明一下导出的函数,引入一下你之前写的库#pragma comment(lib, "xxx.lib"),就可以调用的。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以调用,注意extern "C"的使用 第三方库的头文件当然不能出现在的你纯C工程中,你需要建一个C++的静态库或动态库工程,对这个第三方库的接口做一些包装,提供一些extern "C"的函数接口。比如第三方库有一个DrawImage类用于在窗口上画图。原本这个DrawImage类的用法是:DrawImage draw;draw.Open("c:\\1.jpg");draw.Draw(hwnd); //hwnd是窗口句柄那么,你用C++写的静态库或动态库工程中就把它包装一下,你自己写一个函数extern "C" void DrawImage(HWND hwnd, char *szFilePath){ DrawImage draw; draw.Open(szFilePath); draw.Draw(hwnd); }然后在你的纯C工程中,extern "C" void DrawImage(HWND hwnd, char *szFilePath)声明一下#pragma comment(lib, "xxx.lib")引入你用C++写的静态库或动态库就可以在纯C工程中直接调用DrawImage这个函数了 跟正“然后在你的纯C工程中, void DrawImage(HWND hwnd, char *szFilePath)声明一下” vs2008程序升级到vs2010程序的问题 ,急急急!!!! 跨进程事件通信失败,谁能提供一个测试代码? 关于对话框显示 help~~~~ 谢谢。对于高手非常简单的问题,但对于我这个菜鸟却一天都没有搞定的问题 在win32下如何实现窗口全屏显示 怎样恢复状态栏第一格的提示功能? 求快速统计图像中的颜色 急急急!我的VC.net 坏了,怎么解决?! 难题:高分请教。 请问一个窗口风格的问题 VC2010 IDE 资源界面求助 在VC++中,如何在程序中添加代码,为“另存为”对话框设置文件名
比如第三方库有一个DrawImage类用于在窗口上画图。
原本这个DrawImage类的用法是:
DrawImage draw;
draw.Open("c:\\1.jpg");
draw.Draw(hwnd); //hwnd是窗口句柄
那么,你用C++写的静态库或动态库工程中就把它包装一下,你自己写一个函数
extern "C" void DrawImage(HWND hwnd, char *szFilePath)
{
DrawImage draw;
draw.Open(szFilePath);
draw.Draw(hwnd);
}
然后在你的纯C工程中,extern "C" void DrawImage(HWND hwnd, char *szFilePath)声明一下
#pragma comment(lib, "xxx.lib")引入你用C++写的静态库或动态库
就可以在纯C工程中直接调用DrawImage这个函数了