Skip to content

Latest commit

 

History

History
132 lines (104 loc) · 30.5 KB

README.md

File metadata and controls

132 lines (104 loc) · 30.5 KB

Captcha C++ Library

介绍

本项目可以用来调用 https://github.com/kerlomz/captcha_trainer 项目训练的模型,使用动态库的方式调用验证码识别服务,方便集成软件集成。 关于Tensor、Input、Ouput等等的用法,官方的API文档介绍太过于草率,而且没有例子,对开发者入门极不友好,有意愿入门 TensorFlow C++ API 的各位,希望本项目能对各位有所帮助。

DLL 调用声明

函数名称 返回值 输入值
InitSession int -
PredictBase64 char* const char* base64_str
PredictFile char* const char* file_path
FreeSession - -

C++调用示例

int main()
{
	
	HINSTANCE hDllInst = LoadLibrary(TEXT("CaptchaLibrary.dll"));

	
	if (hDllInst)

	{
		typedef int(WINAPI *MYFUNC1)();
		typedef const char* (WINAPI *MYFUNC2)(const char*);
		typedef const char* (WINAPI *MYFUNC3)(const char*);
		typedef void(WINAPI *MYFUNC4)();
		string res;
		const char* result;
		MYFUNC1 _InitSession = NULL;
		MYFUNC2 _PredictBase64 = NULL;
		MYFUNC3 _PredictFile = NULL;
		MYFUNC4 _FreeSession = NULL;
		_InitSession = (MYFUNC1)GetProcAddress(hDllInst, "InitSession");
		_PredictBase64 = (MYFUNC2)GetProcAddress(hDllInst, "PredictBase64");
		_PredictFile = (MYFUNC3)GetProcAddress(hDllInst, "PredictFile");
		_FreeSession = (MYFUNC4)GetProcAddress(hDllInst, "FreeSession");

		int code = _InitSession();

		const char* s = "iVBORw0KGgoAAAANSUhEUgAAAKAAAABGCAYAAABL0p+yAAAdVElEQVR42u2cB1xUV/bH3d3/JhvdbBJj7yU2sKOwtthi743YYu8ixoJiBWyogB0RuyCoqCACgihFekeKIF2kD21ow1R+/3uf4c1MsAw40ezuO5/PRRzmvTfz3vedc37nnvsagTPOPqM14k4BZxyAnHEAcsYZByBnHICcccYByBkHIGeccQB+ApPJZHVfrJFBlpUB0T0bSIKfQZabBUilHC0cgKqZVFKD0pIapdeyc3jw9vTFrZtO8HV5gFDvp0hPfIHk2FhEesXB80YQHMw8cWPfI1huuA37ucao0OmA8sFtUN6/Ocq12qBy5lAIDFZCdMEMEm93yDIz6ME4ijgAf3NchDmRqAahkWKcuCGAlVclNtnyMfZwNrSGLMOgDj3wY4++0NXSxKSubTCocSMMbvx3TP9+FeY02455LQ2xsJ0RFrTejePtdFHeo0mdUdzra1jNH455+1fjyuqpyLK7wFH0vw5gGZ9AFyzFaQsRtFcXo/GcfHylm4+2m/Px3bo8fLE8GxpdRmDQ902h/W0TBrzaMbbd95jVXA+zv98BXQLgki4HsOyHg7jZbcpbASwjY5rRavz19gn8w84MLW+dxIyAh7BMeY44fhGkbwvpnP13AUg9nVRag9xcGXyeSnDYWIh50wTQ6VeJJrPy8belufj74ly03JCPXoYF0NpfgBkL9mOHniEum5vD/bYdfB46wvPeHdy7ZIVjy61xwcABTme8EOAUg1jfFBRFxUPs6wHRnauottiPyk0LUT5pIPga3+DSvKGYbLIWTWyPoZHDKXx57yzaulzCcO87OPfiDlLy7iCnPJl8Tg7G/woAZVDO514VCHDbTowNK6sxbGAVNDu/Gb26VuKbSQVovZiHOUdKceFJJULSRCgTyBTgrYFELIawupr5nY6ssmJ4Z7zAvYQwXI7ywYngRzjs54SY1ymoEZL3iYSokUiINiHihPwuSYxDlasDsqyP41ZGApaGPkYn1yv4wsEMRr5zEPVcB1FJmyGqCIBUXMxR9p8GILnMkEAKEflZTX4mlPBwOyYVW1yDMPTMQ3Re5keAq2TB69e9CuNHCKC3vho3bonwOlOmsmgtqOBj+2M7jLE5jCFXjDHw4h5ont8J7Uv7cT3ar47rrYW2hhyAwlhNREiugIBelIerKUG4H7MJcc8HIC+uAwrie+F1xFw4mEyH1cZ1sDUyRvRjD5QXc1D+aQAkl5KgJoOYwCYiPylw4bIknC3xwEL3h+hkeQVfm15Ai0M38K3JNTQ2vIGWP/v+BmAltDQqobdGiLu3xEhKlKGqskblY1eJhTgf/gStLDaghfl6pdH/wm5YR3iprrwJlGWicmSURCIj5zJKMtejMGkYAbAT3M+2w/JuXbGkcw8cmD4NoQ+dOfL+LACWiivhLA3EPvF1TBTuQlPBbHwhmIQv/DbgyyNn8eW+S/jHvsv4jsDX6pAtOh6xx8i18Vi/oho3r4uQk93wPOs+CblaxOP9Hj46dC7vx90XIQ3MUaWQinIgKLkLX9s50Nduh9lN22HWd22xqF1n2Ow3goikAJx9QgDf5F4ylJeQsFUhgSBLhmxPksOlbX8D3O/H7b340vQsM4ZY38dO9xA4xmcgp6wKiS+kyCbbi8U1jCBpiMUVvMaoG4dY4DTO70DHU/rs/7uf24bgrOSP/t4JwUHYOvxHBr5Z37VjxiadUYjw9IJUwtUQG30y+IRSJD0tRdDxQiTsFyFgogCOvQrfCt+AqvXYQBSobcILpJWX1NnXx36WarEIE28eZWHremYLIzwUPWD7k5sg+8hjMaGZQHbilwWY17QVCyAdK3sNRKxfQIM+v5SIqIyYaAjKyzkA65wciQz8YiHSXvAR+igHDuYJODEnAmYtEnD921w4/qsMLl9X4cE35di2wg3NyuZCJ0cfy9ItcJ33BLyaUvDK+RBKRSQ3lDI5ojqNio693g5obbGRAU2TeL6zoZ6wifFXAnDh/XPIKy/9+BplIQ8OB42wuEVTAmFL1hPqNu2Ag8PHI/GeM8RCoWrijAif1/FxcDhkDNOZk3FykS7s9uyE/y078DJf/e8AWKsEZbIaiMmoktagoFKK5AQ+fO9l4tqBOJguDcK2sU+xso8bDrWMwZ1/leDev/hw7cVH+CoB0m4K4BHxHLYP/XHgjCM27rmOhRssscPYHh5eMUhJy4NQpN4QJZSIYeLriM6nf2VBux79DBWiaixxuoCW5nIxcjzQFbzKMrUc9+KmdVjZoQUWNW+KucQTLm3eGac1dOAydAJ8VunjVWAoJCLRe/dRUVKCgLu3cWjqOKzt0hbLWn3LDP3e3eB27hQKX7/+7wKQ8WYErOpqKQQCKfOvWEzLGzJUVIoR/pyPaz5FcCiUYV+qBLrXszG/izMWdHygNBa3f4gjzWNxoVkGbCakI/RaHq5aBWD+Kkt0H7IdzXqsZ0f7fvpkbMaIqQdx+aYvyki+py4TSyW4HReEVr9B1vbEJuz0vMX8rZCANujSXqWQ/CAxQi3Hra6sgN0+Qyxt+S0zfmnRHMd69IfX8EnwJsPjxykIPmIBqaD6HXmzGFkvE2C315CFjo4V7ZrBQKcfwl2dIaioUMlpCMg1jIgtQ36h6M8NYCmfABZZAtdHebCxy8RRsySs1YvGmBlBaL/tJZo4V6CJvxhNgqXM+OaJADprojGfAEfHkp4u2PyjJw4vDsSdA4l47sZjxEdYVBrWbruKH7S3sdA170kues8NdUBcvfUy/IIS1fZFaYjtbbWTAYyGXxqGy4UC5m93X4RiyBUjFsAp9mbwyXihluMKyspww3AbC87y1k1xbJAOXEdMgs+IyfAmI3zjdpTGJijlt7ToXVFSjMcXLWE0fiRWtGnK7sNApz85r/uRnZTIAKqK8cvFOGr1CkPmhGP8kmjM2xgHfZMkHLbMQERcWYNza+qkcvKFCIzkw827EDaOeThxJRM7j6XC+Qnvg3n0WwH0DyhEy06P8E0r1zqjiXslmgQS+IIk+CcZTUOkaBsqwcoxXtg5yRvHVoXA4WQiQkj+lxHPR1mREEKhBPtM76FFLzlo9HcKova4/Zi55CTGzDqi9Hetn/YSYFMZj/uxFvg6iXg8PRaw9a5XUUWESO1J3+Zpx+aEdCx3tibhWn3h3+znWVjW+jsWoIvrV8N18WoGPgqh76hpSL9sA5kCTCkRYTCZOBarSOhmvV7b73FcdyYSAvzqraC9g4rxZQ9vNOrsxYy/dvHC17190UrbHyHRfEhlDQMwPKYMoxdGQntmOPpOCkX3MUFoNzIQHRZGITG3+oNz43UArKyUwNQ8iQXuuzauaNbejRnfzo3APx35aOJSgZ4P+NCLEcKeVwPfjCokkvyvkk8uqsIXEZOT5BOYgPG6x1jo+o/eg+1GJM/zjkVOXgk5XjWCwlNw+KQzhpPQWwvgxJ+Pw9kj8qNFkUdqLPpe2MWA1ebERmx8dJ3kq/LcLiI3HYscLVn4qCg5F+apPtGTkQ7rjWtYiChQt4z2gJ+QhCh9QwZAOkIWr0UhyQWzEhNw97AJtg/uq7SN8cQxxBtaMaKmvhYWw8esdTEsfIpj8IwwePoV1d/zkevs4JaPbqOD5Pvr7o2/DQ3EV7pR0NmfjBsBJfUPwRLiUlesjcTkWUH4aUoAZuiGYN2maJiavcT1+zmIIl+mskryQZdNPde5y57oNWwnC9WspafwLOglySWldbb38otHv5G72ff+e5IxeIVlH1V2Cc1ORe/zO1m4KGhlJOwq7tMtOYrJ+dj639ltahMfjHIlN+HOIVpK+ZvXtUuM8s1184T/pHkMgF4jpsNn6Trs/bcWVpL8rva9azq3xj3TgyjOyWKaZxtyPtbtScQ/enq/FcBB08NQXCqq943t/JSHf/XxfbOfrsSj9vfDF1PD0XhFLNpsiIdTRClEKkSvOgDySf6XnFxOLr4QEknDwl9ufimMjt1Hp4G/MjD1Gkq8yhVPiN6Rr0ilUjx0j8QQAh2TF5KxweAa8nn8Bns+34wEDLtiIg+rDy4gq0z5Tn/NL8Iekgsqll9+dbdFtUSsNgBTIyNgOmsKC5SeRle4W51jPmNVVg7iTY7DbfQG3BhxBReHXsLB7gOxgoTrjb264OzKJUgI9IOwqrLB58HuQR4TZmuB+6qXD774LRT/lYCzyjABlQLVu70pE9fu5uD7Ac/I9k/xFxLG/29cKL76JQZfLYlBv43xuPusmIg+1W4UtReii4rLsXDdebTS3MjCFxGTzpRs3mcnrNzRccCvrAd0dA1HtbBhIGTyC9HHSu75Zty2QKmgrqLOLS9hZkAUAfROfwGRGgHMTUuFHoGJFSFETCSHBDE1veryclyfOxeXh5rDdHghDo4Q4HA/QxyeQkKy830CXhUjRhpqpUR4tBrsp+Tx1uxOIN7Qh/3/VQJTtVCqMtDHrV8Rz+eNdgMc0HhMIBovi0Hj5TH4clYk/qrlD8fHPAhFqgOtNgDph3uRlI1fNlixEI2fdxTBJL/7UNhISsuD3s4b7Hazl51CVGzDCqth2WkYa3OYBWrBvXPIKS95Sw4jY7pdWinU/ubdPY3YfPXW06IfP8I2rd4sgLuGa8Pv1k2mfHJoyjj82rUzzHv/DLOhvjgwQoaTM18jwD4ZH3sPZOZUY8vBJBa0xho+WL0rASan09jXeowNhr1zvsoq+ghRzD/o3MaERRfQbf1T/HNVLL76OZLJ+xp188IvW+JRVlE/caQ2AHlFZRg22YQpq1CIhpLfkwlYMhXu4Mc+sUqlmYs23qgS1L9WlVHKU6rnTbU3J16u9K03AH1t2FVjpeKzRfAjpiitTgtxdsS6bu1ZADf37Y6Ti3WZ3K72NWNNDVxaYYWj48vIkMHZtAa8DJmSoKuvnbfNwjd9fVnYRs6PJNdIBO1ZYfhLlzevNdPyQx7vw7Mw9Bqu3hqE02uXY4b+RXy/JgJt1oWi2TgSgkkYpvv6lhwrO7+63jlqI3V4vuj4V9BdeYYFaNzcowgMTVLtTs0ugoHxLXbbqYssEBqVWu/PEM/LwoxbFixMs+6cxMvCnHdu8zQ9DiOvH2TfP+KaCe6/CFUrfLRU8szOBssUaniKg4bjw9Mnwp94xIriSsR41OD0vBocncHDQ+s4lJU2TAx5B5VgyOxwFr6+k0JwyyUfoc/5BMQI9vUZa2KQUyB892yXVIzslFR4Wx1EuLEWIg4Oxond67Bylw3mLr7D7qe51jMcOZ/x6abilCr9JE8bO8eU9XxdB29FxPN0oqZVywMee8cyeWItgGeJci6vqJ8XogXl8bZHWW82wHo3XpUWvvdupIXoTqc2swDOv3cGeRWlULc5mZlibdd2deCjHpBOofFeZchreuTj+lwRY8nQQ5jQZxJOmpxGaTG/3p5wzKIofNFdrnpPXM5kQqhvSAkRJPKc0PBYKkrLfhfrybGkvEqIi7KQ42mBxOP/RsKhPswIPDAe/OQgrDWMZUJ67X509WKRXyj89ABm5RRjp4nce2mOMITVddWbOLNyi7HjgHz7sbOPICQipZ6CowirHl5S8GQHEJaT9t5tEng5WEZUce023c5uZYBUt1XyS+F69qQSeOt+aAfzBXMQ6/20zvwvDXXPg5Owds4ajNQYhDF9B+PI7v1ITUpRKZURimRMbe5vXeWi46fFUSQfFEBM1CtVxH/v9gZMqmKNT6XLPV61DJL0ElS6hyD/2FEkm41ioIs70BePDcfAxuw8ysqq4e5biKb95aG994QQuHoXqn8uWJWwt/fIXXQZtJUFyOL8IxSXVqi8D5s7Aeg7che7vbmlKwqLVW8xqhQJGZBqhURfK0MEvP5w6H+cGsvkf7UA0lkSv8yXH93qVacikJ2Fg1PHKwF4dcsm5Ge8+wahHs/FwQVrdJdgZO+BmDp0FMxNDiMlPpEpV713xieiFP2nhLJw0DodDce1FQh94yQ00XzjuSikTwKKICPQSsPKIbRKQ76hKZL3jkYiAS/+wAA8NfwRv0wzgvHxaGTlVUMkliqFcDqoKi4pFX1aACUSKSKi09mwS8fI6YdQXa26dCvg8bFo/Xl2+z4/7mJUtOrwVeOw/wMSdmu92DY4JoS9+3iVfKYwbRvjz7RaKZZeBhPhwq+uUrP348P5pJkSfAba/ZCXmvrBG1tQJcATV3fMHz8FI3r1x2ztUbi/4yQqst7taYpKRNhjlipXvb18sGSbfD67hC+GvsnLN/CR0XaAH6KvZENokAbB1BjwhzxA6tYpSDQZgKjt43Bedwta9XPDws1xzPZVAgnxoLlK8HUZGcjs92OsQQBGx77C/NXnWHi0xxvBya1+3SM3HPyhOdyQ3cdBcyeIRKp9GYlMCqvwp/jhzNbfmkf1cS7sMaolb+5EqmSjcjPg8CIEpv7OWO1yiRElP9kcwUCSH9JmU0UADTzt31qq+Sj1++A+9o4aysK3SaMrnly2VrmuR71dXHQMtq5Yi13dJ8Oh9QK49V6H+GMOqEjOgUysXO64ScKr5vhgFo7h8yLwyFcOLFW7m0nuptn9KZb19IZvnwDwB0dC0DccAo1wlA92R8I8ch1/3oH1WnfQWcMXBkeSwSt+c04j48swbdVzdv80x6Te72OtQQDuIHlfh/6bWXgOn3wAfj1ap2hIGDvbVKn7Jf0VT+UQ+CwjAT3PbWMBWk1yQNfkaFyK9MZ2Tzvo3j1NRIkps66jp+V2Zg74bes+agddiqnO8guF7Pi86VjZvjkL4Kkl81Gal1fvfSWFxsBl5Fa4t16Cxy2XwKf3JsSstwLPMxqSSvlnnrg0WqnZ4BiBI7uggmlDy+bzYP/cF9sX3Ef4QF+UaYSiSiOMjDfwCYZEIWxcNLYOfIzmXZ/gC5InbifwUa9aa3vMU/B1H7nwoCo7K7f60wJIAUlJz0fbPptYePqN2o2EeoROGr79Q5LY7Vtr6mHZJmvVhUtZMbSs9yq0zusznm30jUOM+u10evNbIaPrPWg7Fq0TKqpfDcsduBUXpDb4REIhIzAUu1829+2BsIcPGrQ/MYEs/Y4vQheZw6vLGni2XArP1svgp22AF0a3wQtPg+8zHr4h4HzZyRNfdfFA56FOMLrpAUtfNyy4eRTjbHZg/CUD7FtngZI+wQx8DHg6kajYlopg0wyMGB3MFqwX6McxgoadsswV4MefI5Ryy70WqWo5X/UCsIQIjCOnnOUtVT03YOeB2x+cZvu9ct62347dh84EIzi6hau0LQ2T+u43lMB625LKNkRU0Ck22uM38eYx4hHP4FcPW5wKcceBZ47Mmt/a99K1wLfjgtUGYHZiAi5skHe/UBCt9daCz+M1eJ902q4qrxjZd/wQMfcYvLquxYOWq3CwzUGs+7cTfhnvgwEdXDCsgzOGdr+LgbonMMBcD5rnVkLT8rdBfl+w3Rg+Qx7jBQm/fnOCEW2fiadO+fhpYSQD1j81ad4Yj6T0KiWnc/FWNlHP8txv9IJIBEfyPz2AVHhMW2Qh71iZaIynz+LrdUB3r+cYMe0Auw/9XTbIzPqwjBeTi3Ai6BE6v8XDdSDerd+FXUxheebtE1jjchlmQa5wSgxHbMFrRi3X2rXoZxh0Ue5BqedUV/Mpkx7Y28Jw2CCl5gOaD8rU9MyYqlcFyDj/CH5TTLGpoxV+au+EsQS82jGm4wNoLziK3hZr0fc0GZarMcN+H4x9bDBxiw1m6zhj4A9eGDYjDBbWGUxeR0M3bUyYtzEWkXHKxe/yCgnmE4+oKD5oeKZNqJ8cwEu23tAYJi8aL914gcBTv16y7cb26EByvtp9uHhEqSQ+wrPToKPguTTOG2D09UOYTcTFZg8bRpTQx2t8SExcJHliHytDdj8DSTiPL8hSG4Bnly/G6o6tWADptFt+eppaBY6kSoiS4Jc4MP0hJnR0wsT2dzGkw0MMJ2OC5iNsNHgIPfuLWHP5Amw9gvAyLxv5FaWYtCISf/tBLiKoiq0ty+jMCkdwFJ9ZdqFofmEl6DY6UAnAgIjSekU9tQFIQ2eb3vL874qdb706Vuh7tcbuZbcfOGYPiks+XDcUkUR6seN5Ntx2JDnciRDiBTITUVhVv6WJVBl3UViU1MZiI3Nx1FEDLMx6Df0+3ZRKL48vnme6Wv4IS0ssw8if/NC7oyNadPRgcsATVumIiy9Eag6PaQh+M7nx5rvpGb1kW7Fq27Hov3R2hLbPC4V1vbS1fTYTmmu3aTbQDwVF6ltTUi8AaaeLYu3P0zu2XncCFR+Kbfe7Dzuo1HLvQ1SvYtPAtsc3IZU17Iml7ikxSu33dOQQYaOONcBhLk7M/K58/cd3yIyPUVv4rXNjEqHwTW8fAt5jNOr0pinA07/ondfkxv1cFjrFcdiSTp2+/TPSDpfa5oXa+WOJpObzADh/zTmlxUN5BfXzHFSwKG4fE5+p0vbDr5ooeay88oZ7rITCnDo55JPUWLV4QNvdBkreb3Of7uwS1j/CQp+XKYFEhULFe7rV0zKr6gA4ZUU0UyN81zaDZ4YpvX/roWS1fp96Abhw7XniAeUerLJKqPKHoe/rP0recj986gFUCj6cyNLnt7RWULq7ve4wheiGGu127nBSXwnAG8/9PmqftWYyaYwSgJarl0Ii/uOWQNo55+L/uslDaleS09Hm0nddE+oZ6aKhWo9G54P9w0vfGYXoireve/soAWjrmMu8/lkA3LjzulINMDu3WGUAn/jGK80b0w5owQd6/qpEIqaM0kJhui2Bl/3Rd+DwaybsFB4dO5/Yf/RUXBW/FNu1+xHw5PU/2gnzRz4+Y9+JNHytKW8MoIq2sPj959TSJgt9JoYwImT/yTSm2Pyu85n8qgotBil3VLv5FEEkln0eAOnKte468sXk/iEvVc5v1u+4hrZ938Dbc4gBfAMTP7jto+TnGGC9iwVlg9s1Ihg+vv5kQID74ewW9ilYdE75Yxci0ZaqxEB/eF+/gvtHD+GS/nqmrb6qjP+HAbjjaAoRBc9YOJYbJCD9tWo3Ei00UzGhWHD+vdGlnD1/ClISLc9CSz5fCHZyC2dCZy2ARwiQqnS/0DUhUxaYs9tRMZOS/v5pKVq72+99l8n5KChdzmzBlSgftYRK2jlNxx+Vm30Ko6KJztXStb21gKzdk4jkDPUpbqqMtabJu2taa/vj1sN8tX6PegFIa347FPr/Js83Q1D4+x9hRvPEq/a+bPmmy6AtMD3tAkH1+0NFclEe5jmcZr3fj9cOIOh1Mjj77bwKpLC+la0kKmasjkFmtvrmtKkHVASw04hAWNpmfT4AachMSMphSymte+thhf5FiN7xECH6/oxMHtOqVbvcUnv8foRGpn7g7pYxTaV0jS6Fj+ZrtN2+9lEanIERG/bOeSwcVFh0+TGQaTxVh9HokE/UccdhAewxqLc9c/0zAlhrRsfvM633ioKCzvHSRgMl2f+qgHkKQsff1gdTAbPdyO6DTacUwDOhHuyCcQrg8QAXDsDf2QPPAnQeIZ+l0BgfgrikCrXtn9YZ6ZMTFEWIGW1A5Ys/L4B09sLEzJF4wjdrf1tpbMTPq8/hgXsEwqLTEBCaBAfnEPy6x5Z52kFt6WbUzMNwfxrzzqJnrVFFutvLgW2jonVA55cRasn//pvsaUAxhs6VLz7SnBAMm/u5att/dl41M3uiCOAqw0QUf24A34QAMU5Zu5PcTk/pSVcDx+7FBN1jGEHESmetLezfqAI+dsblneFa0QRiMZwSI+CYGMYsq+Ts3UZ78s7fzMbCzfHoMSYIJ69mqjXMW93MUgKQPmXhs4dgpVLJk2hMXmCGTgO3KE2zKQ667uPMJQ8UFpVxxPzBVlwqrvfi8PfZlTvZ6DpKOcx7B5f8eQCkVlZexfT0LV5vhUlEGdMxbu4x/LLhAswt3RASmcqR8R9qCSkVGKEbobAG2A8Hz6b/uQBUNPrItedxr+ATkIDImAzmQUXqftQuZ5/WJi+PZtu4aNnH8FiKSk9U+CwAcsYZByBnHICcccYByBkHIGeccQByxgHIGWccgJxxAHLGGQcgZxyAnHHGAcgZByBnHICccfbZ7P8B3y4wCcBs1YMAAAAASUVORK5CYII=";
		const char* f = "./test.png";
		printf("predictBase64: %s\n", _PredictBase64(s));
		printf("predictFile: %s\n", _PredictFile(f));
		_FreeSession();

		FreeLibrary(hDllInst);

		return 0;
	}
	
}

C# 调用示例

    class Program
    {

        [DllImport(@"./CaptchaLibrary.dll")]
        extern static int InitSession();

        [DllImport(@"./CaptchaLibrary.dll")]
        extern static string PredictBase64(string buffer);
        static void Main(string[] args)
        {
            InitSession();

            string param = "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";
            string result = PredictBase64(param);
            Console.WriteLine(result);
        }
    }

Python 调用示例

import base64
from ctypes import *
dll = cdll.LoadLibrary('CaptchaLibrary.dll')
dll.InitSession()

with open("test.png", "rb") as f:
    b = f.read()

b64 = base64.b64encode(b)
dll.PredictFile.restype = c_char_p
dll.PredictBase64.restype = c_char_p
result_file = dll.PredictFile(b"test.png")
result_base64 = dll.PredictBase64(b64)
print("PredictFile:", string_at(result_file).decode())
print("PredictBase64:", string_at(result_base64).decode())
dll.FreeSession()

Java 调用示例

感谢QQ网友:3455473568,热心提供案例。

public interface DllX extends Library {
    Main.DllX instance = (Main.DllX) Native.loadLibrary(getPath() + "\\CaptchaLibrary.dll", Main.DllX.class);
    public void InitSession();
    public String PredictFile(String path);
    public String PredictBase64(String b64);
}

public static void main(String[] args){
    Main.DllX.instance.InitSession();
    String s0 = DllX.instance.PredictBase64("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");
    String s1 = DllX.instance.PredictFile(getPath() + "\\test.png");
    System.out.println("PredictBase64: " + s0);
    System.out.println("PredictFile: " + s1);

}

private static String getPath() {
    try {
        File directory = new File("");//参数为空?
        //System.out.println("getPath: "+courseFile);
        return directory.getCanonicalPath();
    } catch (Exception exp) {
        exp.printStackTrace();
    }
    return null;
}