unsigned int RtlComputerCrc32(void* pData, int iLen)
{
	typedef unsigned int(__stdcall *pfnAPI)(int dwInitial, void* pData, int iLen);

	HMODULE tMod = LoadLibrary("ntdll.dll");
	pfnAPI tProc = (pfnAPI)GetProcAddress(tMod, "RtlComputeCrc32");

	return tProc(0, pData, iLen);
}

需要注意的是,这个API内部的算法与gnu的cksum并不相同,因此计算结果也是不同的。


本文链接地址: 用Windows系统自带的RtlComputeCrc32计算CRC32
https://blog.qingfengju.com/index.asp?id=448

分类:Win32/C++ 查看次数:20138 发布时间:2021/12/13 21:17:09

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />

    <title>IE11 ES6 test</title>
    <!-- https://cdn.bootcdn.net/ajax/libs/babel-standalone/6.26.0/babel.min.js -->
    <script src="libs/babel-standalone-6.26.0/babel.min.js"></script>

    <!-- https://cdn.bootcdn.net/ajax/libs/babel-polyfill/7.12.1/polyfill.min.js -->
    <script src="libs/polyfill-7.12.1/polyfill.min.js"></script>
</head>
<body>
<div id="app"></div>
<script type="text/babel">
    // babel.min.js 支持ES6的语法
    let msgBox = (msg) => { alert(msg); };

    var str = ` 有空格的string  `;
    // polyfill.min.js 支持 trimLeft 等函数
    msgBox('Babel.version:'+ Babel.version + '\ntest function:['+str.trimLeft().trimRight()+']');

    debugger
  </script>
</body>
</html>



本文链接地址: 在浏览器中直接使用babel转码器和polyfill来支持ES6
https://blog.qingfengju.com/index.asp?id=447

分类:Web开发 查看次数:19365 发布时间:2021/12/10 10:12:55