重写VC++及C++的DLL库

重写VC++C++DLL

已libshinecard.dll libshinecard.h libshinecard.lib为例

  1. 打开VC++6.0中打开
  2. 编写测试程序:需将libshinecard.h 添加引用  将libshinecard.lib加入工程连接中;如果是winform程序,则将#include <windows.h> 添加引用
  3. 新建Win32-Dynamic-Link Library 程序

a)         在libshinecard.cpp文件中://这里面是要重写的方法

                  extern "C" {
        //add a func called by c# 
        //int __stdcall M100A_ReadMagcardDecode(HANDLE ComHandle, bool bHasMac_Addr, BYTE Mac_Addr, BYTE _track, DWORD *_DataLen,BYTE _BlockData[], char *RecordInfo);
        LIBSHINECARD_API int shine_M100A_CheckCardPosition(HANDLE ComHandle,bool bHasMac_Addr, BYTE Mac_Addr,char * CardStates,char *RecordInfo)
        {  
          printf("%s start\n", "shine_M100A_CheckCardPosition");  
          return M100A_CheckCardPosition(ComHandle,bHasMac_Addr, Mac_Addr,(BYTE*)CardStates,RecordInfo);
        }
       }                                                 

b)         再到libshinecard.h中

   extern "C"
    {
      LIBSHINECARD_API int shine_M100A_CheckCardPosition(HANDLE ComHandle,bool bHasMac_Addr, BYTE Mac_Addr,char * CardStates,char *RecordInfo);
    }

posted @ 2012-03-09 08:57  bjlhx15  阅读(351)  评论(0编辑  收藏  举报
Copyright ©2011~2020 JD-李宏旭