如何在c# 中使用zlib.dll 库?

dark012002 2004-12-10 10:11:40
我只需要uncompress 方法在 c# 中声明的原形即可

.h 中一堆的far ,看得头昏眼花
...全文
497 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
李洪喜 2004-12-11
  • 打赏
  • 举报
回复
添加引用
dark012002 2004-12-11
  • 打赏
  • 举报
回复
投降,用 c实现了
这些分数就友情赠送给楼上的朋友吧

HINSTANCE hDLL = LoadLibrary( "zlib1.dll");
typedef void( *pUncompress)( unsigned char * dest, unsigned int * destlen, unsigned char * source, int sourcelen);

pUncompress uncompress = (pUncompress)GetProcAddress( hDLL, "uncompress");

uncompress( ucdp, &ucl, cdp, cl);

FreeLibrary(hDLL);
dark012002 2004-12-11
  • 打赏
  • 举报
回复
胡,不知道上面的例子用的是哪个星球上的 zlib.dll
根本就没这个入口点么
dark012002 2004-12-11
  • 打赏
  • 举报
回复
引用是有限制的罢?
well, 我已经找到了,各位忽略注释就好

public class TrimDataArray
{
...
//экспортируемые функции из библиотеки упаковки
[DllImport("ZLib.dll")]
private unsafe static extern void ZCompress(void* inBuffer, int inSize, ref byte* outBuffer, ref int outSize);
[DllImport("ZLib.dll")]
private unsafe static extern void ZDecompress(void* inBuffer, int inSize, ref byte* outBuffer, ref int outSize);
...
//конвертация в упакованный формат
public unsafe void ConvertToADA()
{
...
//упаковываем
ZCompress(PCol,tempCol.Length*Marshal.SizeOf(*PCol) ,ref Ptr,ref PackColumnsSize[iCol]);
...
}
}


110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧