用C语言写的程序会调用C++写的静态库吗

用C语言写的程序能调用C++写的静态库吗
我现在用C语言编写一个程序,其中要用到一个库来实现一个功能,但是这个库是用C++编写的,而且内容非常大。请问能有办法直接把这个库拿来用吗,如果需要少许改动还是可以接受的,求大侠帮助。如果可以的话,最好能贴一些简单的例子说明下。谢谢!
C++ C

------解决方案--------------------
不要做A语言代码修改为B语言代码的无用功。
也不要做用A语言代码直接调用B语言代码库这样复杂、这样容易出错的傻事。
只需让A、B语言代码的输入输出重定向到文本文件,或修改A、B语言代码让其通过文本文件输入输出。
即可很方便地让A、B两种语言之间协调工作。

综上所述,你可以写一个C++程序比如app.cpp,提供对外命令行参数或标准输入,内部调用C++lib,结果输出到标准输出或特定文本文件的接口。
然后你的C程序就可以用
system("app.exe 命令行参数 <in.txt >out.txt");//然后从out.txt中读结果
方法间接通过app.exe调用C++的lib了。
------解决方案--------------------
C++需要导出C接口,否则无法直接使用。
------解决方案--------------------
需要修下,你原c++中的源码的!

添加 extern "c"
------解决方案--------------------
引用:
我现在用C语言编写一个程序,其中要用到一个库来实现一个功能,但是这个库是用C++编写的,而且内容非常大。请问能有办法直接把这个库拿来用吗,如果需要少许改动还是可以接受的,求大侠帮助。如果可以的话,最好能贴一些简单的例子说明下。谢谢!
Mark
在Windows下已经试验过,只是那个lib导出的声明是C平面化的接口方法,以及使用extern "C"指令编译生成的,那这个lib是可以由C调用的,但是如果你这个lib又依赖于其他lib,那你就看着办吧、非单纯化的lib,跨语言使用,一堆的链接符号等你去解决用C语言写的程序会调用C++写的静态库吗