我现在用MFC建了一个DLL文件,我是想定义一个函数A()用于在外部调用,然后再定义两个函数B()和C()作为子函数供只供A调用,用了这样的语句:
extern "C" __declspec(dllexport)A()
{
//code…………
B();
C();
}
B()
{
//code……
}
C()
{
//code…………
}
它总是提示B和C都是没有定义的,请问各位高手,怎么解决这个问题呢?
小弟在这等着给分。。

解决方案 »

  1.   

    //code…………
    int B(int);
    int C(int,int);extern "C" __declspec(dllexport)A()
    {
    //code…………
    int x =100,y =200;
    B(x);
    C(x,y);
    }int B(int a)
    {
    //code……
    }int C(int a, int b)
    {
    //code…………
    }
      

  2.   

    把extern "C" __declspec(dllexport)添加到B函数前面,外面就可调用了。你把B,C函数体放到A函数体的前面,就解决问题了,不用先申明,如下:int B(int a)
    {
    //code……
    }int C(int a, int b)
    {
    //code…………
    }extern "C" __declspec(dllexport)A()
    {
    //code…………
    int x =100,y =200;
    B(x);
    C(x,y);
    }