调用老的C工程问题
我有一个老的纯C编的工程,现在想在vc2008下建一个窗口程序,然后调用这个C工程的一些功能,请问该怎么做?敬请高人指点。
谢谢terrytcl。
我现在建立一个Windows窗体应用程序,然后把C工程加入进来,编译成静态库。然后在窗体应用程序中加入这个静态库、头文件,声明外部C函数,但加上函数调用编译就通不过了。根据错误提示,从网上寻找方法,但旧的错误一解决,新的错误就出来。
后来看陆其明《DirectShow开发指南》第355页,他用的方法是建立一个类,把C工程中的要调用的函数封装到这个类里面。其实我用的C工程也是一个mpeg2解码程序,我想调用它的解码功能。
但是如何在这个C工程里建立这个类,或者是如何在上面的windows窗体程序中建立这个类,我不了解。
能不能给点提示?谢谢。
把错误提示贴出来。
End_rbody_60119767//-->
该回复于2009-09-28 09:26:19被管理员删除
对我有用[0]
丢个板砖[0]
引用
举报
管理
TOP
alexander_david
(alexander_david)
等 级:
#7楼 得分:0回复于:2009-09-28 10:33:42
谢谢各位高人。
我现在尝试把这个c工程编译成dll。
但是现在的dll教程都是以C++为对象介绍的。我用同样的方法编译dll,然后建立工程调用其中的导出函数,但总是出现lnk2001错误,找不到导出函数(在vc6和vc2008下都一样)。
然后我尝试直接把C工程里的c源文件修改为cpp后缀,但这样编译根本就通不过。
还请高手们看看,这是怎么回事?
谢谢各位高人的关心。
我刚才调用dll函数成功了。
_declspec(dllimport) extern "C" int decoder_main(int argc,char *argv[]); //纯c函数
相关问答:
以前在VC里面建一个工程,都只用一个 .c 文件,昨天在一个工程里用了两个 .c文件了,遇到问题了,请大家指点。比如:
File1.c Fil ......
编译普通的c没问题啊,但编译javah生成的就报错:
gcc -O0 -g3 -Wall -c -fmessage-length=0 -oHelloWorld.o ..\HelloWorld.c
gcc -otest.exe HelloWorld.o
d:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../. ......
为什么C写的DLL文件C、PB能调用VB不能调用?
VB里为什么有的DLL直接通过引用可以使用?有的需要通过declare申明外部函数?这些DLL有什么差别?
1、为什么PB能通过DECLARE声明而VB不行?
2、如果这个dll中的 ......
大家好!我是一位C爱好者,向大家请教下,C程序员可好找工作?公司用C干些什么?
无所谓好不好找工作,一般通信、系统、嵌入式、硬件方面用的多,而且由于C的底层特性,学会后在学其他的会比较容易
不管用什么语 ......
#include <stdio.h>
main()
{
int a,b,sum;
a=1;b=2;
sum=a+b;
printf("sum is %d\n");
}
结果是:2367460
为什么?
printf("sum is %d\n", ......