不断清除 n 的二进制表示中最右边的 1,同时累加计数器,直至 n 为 0
运算次数与输入 n 的大小无关,只与 n 中 1 的个数有关
不断清除 n 的二进制表示中最右边的 1,同时累加计数器,直至 n 为 0
运算次数与输入 n 的大小无关,只与 n 中 1 的个数有关
|
|
像 11 21,22 31,32,33 41,42,43 ... 这些数字的十位数和个位数相乘
函数内进行跳转,可以用 goto
但从一个函数内跳转到另一个函数的某处,goto 不能完成
setjmp 和 longjmp 用来完成这种类型的分支跳转,在处理异常上非常有用
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
|
|
NT 架构中有 subsystem 概念,每个 subsystem 针对一个平台,ntdll.dll 是所有 subsystem 的基础
或者说 ntdll.dll 统一提供 NT 系统的 API 接口,subsystem 为各个平台的应用程序提供包装
标准输入上等待输入事件
go fuzzing
通过持续给程序不同的输入来自动化测试,并通过分析代码覆盖率来智能的寻找失败的 case。这种方法可以尽可能的寻找到一些边缘 case,发现平时很难发现的问题
1.18 整合进标准库
模糊测试会监测程序运行过程中是否出现 panic、断言失败、无限循环等异常情况
GoConvey 网站 : https://smartystreets.github.io/goconvey
兼容 Go 内置 testing库,丰富的断言函数,彩色的控制台输出,提供命令行工具,更加直观的 Web 界面,测试会自动运行
|
|
运行 goconvey
,可以在本地运行一个强大 Web 图形界面,配合内置的 testing 使用,以提高开发效率
性能测试受环境影响很大,为保证测试的可重复性,尽可能地保持测试环境的稳定