問一下大家,下面這段加密狗的C++代碼怎么轉為C#代碼,對C#不太熟悉。
char* ppsw = "12341234";//加密鎖密碼
char p256[65];
unsigned long uAddr;
for(uAddr=1; uAddr<17; uAddr++)
{
if(!ReadLock(uAddr, p256+(uAddr-1)*4, ppsw, 0, 0))
break;
}
ReadLock定義如下:unsafe public static extern int ReadLock(int uAddr, void* pBuffer, String pass, uint uSerial, uint uMini);
uj5u.com熱心網友回復:
就你寫的那段倒很好轉,不過就這一點轉了有什么用?uj5u.com熱心網友回復:
大神,幫幫忙,這一段轉了就行。uj5u.com熱心網友回復:
ReadLock方法你是直接從C++拷過來加了個usafe吧?最好把這個方法也重寫好,C++的ReadLock中用void*應該是C匯出為dll時添加extern "C",因此函式多載在是無法使用的。在C語言中,引數為空型別的指標,意味可以接受任何型別的指標。由于C語言沒有函式多載這種功能,不能定義幾個同名的函式,只能使用空型別的指標來接收任意型別的指標,以實作類似于C++中的函式多載的功能。你重寫時就應該不用usafe代碼了。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/107550.html
標籤:C#
下一篇:WebForm未能加載程式集
