ForeverBell ForeverBell
关注数: 9 粉丝数: 16 发帖数: 491 关注贴吧数: 5
神奇的代码,神奇的CPU占用率正弦曲线~ 源C++代码来自《编程之美》~ 现翻译成VB代码和吧友感受下编程的魅力~ Option Explicit         Private Declare Function GetTickCount Lib "kernel32" () As Long     Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)         Private Const SPLIT As Double = 0.01     Private Const COUNT As Long = 200     Private Const PI   As Double = 3.14159265     Private Const INTERVAL   As Long = 300         Sub Main()     Dim busySpan(COUNT) As Long     Dim idleSpan(COUNT) As Long     Dim half As Long     half = INTERVAL / 2     Dim radian As Double     Dim i As Long         For i = 0 To COUNT - 1          busySpan(i) = half + (Sin(PI * radian) * half)          idleSpan(i) = INTERVAL - busySpan(i)          radian = radian + SPLIT     Next i     Dim starttime As Long     Dim j As Long     While (True)          j = j Mod COUNT          starttime = GetTickCount()          While (GetTickCount() - starttime <= busySpan(j))          Wend          Sleep (idleSpan(j))          j = j + 1     Wend     End Sub     顺便附带上C++代码,让大家看下C++和VB代码的转换关系~ #include <windows.h>     #include <stdlib.h>     #include <math.h>         const double SPLIT = 0.01;     const int COUNT = 200;     const double PI = 3.14159265;    
1 下一页