建立乙個c++控制台空專案,選生成dll。要想能被c#程式呼叫,還要編譯成64位的dll。
tea.def
library
exports
btea_encrypt
btea_decrpyt
tea.cpp
//巨集定義
#define libexport_api extern "c" __declspec(dllexport)
#define mx (z>>5^y<<2)+(y>>3^z<<4)^(sum^y)+(k[p&3^e]^z)
#define delta 0x9e3779b9
#define s_looptime 1 //5
#define block_size 64 //page_size,根據你所要加密的資料報長度修改此引數(單位:位元組)
/**key maybe 128bit =16 bytes.
*buf maybe block_size
*/libexport_api void __stdcall btea_encrypt(unsigned char* buf, unsigned char* key)}/*
*key maybe 128bit =16bytes.
*buf maybe block_size
inbuf == outbuf == buf
*/libexport_api void __stdcall btea_decrpyt(unsigned char* buf, unsigned char* key)
}program.cs
using system;
using system.collections.generic;
using system.linq;
using system.runtime.interopservices;
using system.text;
namespace tea_test_c_sharp
;//資料緩衝區
byte tx_buffer=new byte[32];
byte rx_buffer=new byte[32];
for (int i = 0; i < 32; i++)
btea_encrypt(tx_buffer, tea_key); //tea加密
btea_decrpyt(tx_buffer, tea_key); //tea解密}}
}
C 呼叫c 例項
今天寫了個rfid的封裝類,主要實現c 呼叫c 中的函式。如果大家有需要,可以當個參考 介面文件如下 c 中的struct 如下 typedef struct readeritem typedef struct inventoryresult c 的類如下 public class rfidbase...
C 呼叫matlab例項
這段 是c 呼叫matab引擎的過程,的目的很簡單,在c 中建立乙個vector陣列,然後將這個vector陣列單位化。寫這個 的目的是學些c 與matlab之間的資料互動,以供日後參考。include include include include include include engine.h...
演算法 分治演算法及例項
關於二分查詢法 二分查詢法主要是解決在 一堆數中找出指定的數 這類問題。而想要應用二分查詢法,這 一堆數 必須有一下特徵 儲存在陣列中 有序排列 所以如果是用鍊錶儲存的,就無法在其上應用二分查詢法了。曽在面試被問二分查詢法可以什麼資料結構上使用 陣列?鍊錶?至於是順序遞增排列還是遞減排列,陣列中是否...