1,我要写一个ocr数字识别的函数,封装在dll里,就是输入一个图像,输出识别出来的数字,数字个数不确定。这个函数这样定义是否可以:
   int OcrNumber( HBITMAP in_bitmap, unsigned int *out_data_len, unsigned char **out_data );2,如果用delphi或者c#能不能调用这个函数?对于指针的参数怎么调用?

解决方案 »

  1.   

    1、可以,不过最好由调用者分配内存来接收数据。
    2、指针在.net中对应引用型参数。
      

  2.   

    不过一下,函数最好定义为__stdcall。
    int __stdcall OcrNumber(……
      

  3.   

    dll输出应该声明为:__declspec(dllexport) int OcrNumber
      

  4.   

    dll中函数导出声明为__declspec(dllexport) int  __stdcall OcrNumber( HBITMAP in_bitmap, unsigned int *out_data_len, unsigned char **out_data ); 或者在.def文件中
       // project.def
       LIBRARY project
       EXPORTS
           OcrNumber @1在需要调用地方是使用 __declspec(dllimport)到入函数