เบเบฒเบ™เบ›เปˆเบญเบ ControlFlag 1.0, เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเปเบฒเบ™เบปเบ”เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เปƒเบ™เบฅเบฐเบซเบฑเบ” C

Intel เป„เบ”เป‰เป€เบœเบตเบเปเบœเปˆเป€เบ„เบทเปˆเบญเบ‡เบกเบท ControlFlag 1.0 เบฅเบธเป‰เบ™เปƒเบซเบเปˆเบ„เบฑเป‰เบ‡เบ—เปเบฒเบญเบดเบ”, เป€เบŠเบดเปˆเบ‡เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เปเบฅเบฐเบ„เบงเบฒเบกเบœเบดเบ”เบ›เบปเบเบเบฐเบ•เบดเปƒเบ™เบฅเบฐเบซเบฑเบ”เปเบซเบผเปˆเบ‡เป‚เบ”เบเปƒเบŠเป‰เบฅเบฐเบšเบปเบšเบเบฒเบ™เบฎเบฝเบ™เบฎเบนเป‰เป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบเบ—เบตเปˆเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบเบถเบเบญเบปเบšเบฎเบปเบกเปƒเบ™เบˆเปเบฒเบ™เบงเบ™เบฅเบฐเบซเบฑเบ”เบ—เบตเปˆเบกเบตเบขเบนเปˆ. เบšเปเปˆเป€เบซเบกเบทเบญเบ™เบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เบงเบดเป€เบ„เบฒเบฐเบชเบฐเบ–เบดเบ”เปเบšเบšเบ”เบฑเป‰เบ‡เป€เบ”เบตเบก, ControlFlag เบšเปเปˆเป„เบ”เป‰เปƒเบŠเป‰เบเบปเบ”เบฅเบฐเบšเบฝเบšเบ—เบตเปˆเบเบฝเบกเบžเป‰เบญเบก, เป€เบŠเบดเปˆเบ‡เบกเบฑเบ™เบเบฒเบเบ—เบตเปˆเบˆเบฐเบชเบฐเบซเบ™เบญเบ‡เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบฑเบ‡เบซเบกเบปเบ”, เปเบ•เปˆเบญเบตเบ‡เปƒเบชเปˆเบชเบฐเบ–เบดเบ•เบดเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบ‚เบญเบ‡เบžเบฒเบชเบฒเบ•เปˆเบฒเบ‡เป†เปƒเบ™เบˆเปเบฒเบ™เบงเบ™เป‚เบ„เบ‡เบเบฒเบ™เบ—เบตเปˆเบกเบตเบขเบนเปˆเปเบฅเป‰เบง. เบฅเบฐเบซเบฑเบ” ControlFlag เบ–เบทเบเบ‚เบฝเบ™เป„เบงเป‰เปƒเบ™ C ++ เปเบฅเบฐเป€เบ›เบฑเบ™เปเบซเบผเปˆเบ‡เป€เบ›เบตเบ”เบžเบฒเบเปƒเบ•เป‰เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ” MIT.

เบฅเบฐเบšเบปเบšเบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบเบถเบเบญเบปเบšเบฎเบปเบกเป‚เบ”เบเบเบฒเบ™เบชเป‰เบฒเบ‡เปเบšเบšเบˆเปเบฒเบฅเบญเบ‡เบ—เบฒเบ‡เบชเบฐเบ–เบดเบ•เบดเบ‚เบญเบ‡เบญเบฒเป€เบฃเบฅเบฐเบซเบฑเบ”เบ—เบตเปˆเบกเบตเบขเบนเปˆเปเบฅเป‰เบงเบ‚เบญเบ‡เป‚เบ„เบ‡เบเบฒเบ™เปเบซเบผเปˆเบ‡เป€เบ›เบตเบ”เบ—เบตเปˆเป€เบœเบตเบเปเบœเปˆเปƒเบ™ GitHub เปเบฅเบฐเบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™เบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐเบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™. เปƒเบ™เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบเบฒเบ™เบเบถเบเบญเบปเบšเบฎเบปเบก, เบฅเบฐเบšเบปเบšเบเปเบฒเบ™เบปเบ”เบฎเบนเบšเปเบšเบšเบ›เบปเบเบเบฐเบ•เบดเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เปƒเบ™เบฅเบฐเบซเบฑเบ”เปเบฅเบฐเบชเป‰เบฒเบ‡เบ•เบปเป‰เบ™เป„เบกเป‰ syntactic เบ‚เบญเบ‡เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบฅเบฐเบซเบงเปˆเบฒเบ‡เบฎเบนเบšเปเบšเบšเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰, เบชเบฐเบ—เป‰เบญเบ™เปƒเบซเป‰เป€เบซเบฑเบ™เป€เบ–เบดเบ‡เบเบฒเบ™เป„เบซเบผเป€เบ‚เบปเป‰เบฒเบ‚เบญเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบฅเบฐเบซเบฑเบ”เปƒเบ™เป‚เบ„เบ‡เบเบฒเบ™. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบ•เบปเป‰เบ™เป„เบกเป‰เบเบฒเบ™เบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเบญเป‰เบฒเบ‡เบญเบตเบ‡เบ–เบทเบเบชเป‰เบฒเบ‡เบ•เบฑเป‰เบ‡เบ‚เบถเป‰เบ™เป€เบŠเบดเปˆเบ‡เบฅเบงเบกเบ›เบฐเบชเบปเบšเบเบฒเบ™เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบ‚เบญเบ‡เบฅเบฐเบซเบฑเบ”เปเบซเบผเปˆเบ‡เบ—เบตเปˆเบงเบดเป€เบ„เบฒเบฐเบ—เบฑเบ‡เบซเบกเบปเบ”. เบฅเบฐเบซเบฑเบ”เบ—เบตเปˆเบขเบนเปˆเบžเบฒเบเปƒเบ•เป‰เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบœเปˆเบฒเบ™เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบ‚เบญเบ‡เบเบฒเบ™เบเปเบฒเบ™เบปเบ”เบฎเบนเบšเปเบšเบšเบ—เบตเปˆเบ–เบทเบเบเบงเบ”เบชเบญเบšเบ•เปเปˆเบเบฑเบšเบ•เบปเป‰เบ™เป„เบกเป‰เบเบฒเบ™เบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเบญเป‰เบฒเบ‡เบญเบตเบ‡. เบ„เบงเบฒเบกเปเบ•เบเบ•เปˆเบฒเบ‡เบ—เบตเปˆเปƒเบซเบเปˆเบซเบผเบงเบ‡เบเบฑเบšเบชเบฒเบ‚เบฒเปƒเบเป‰เบ„เบฝเบ‡เบŠเบตเป‰เปƒเบซเป‰เป€เบซเบฑเบ™เป€เบ–เบดเบ‡เบ„เบงเบฒเบกเบœเบดเบ”เบ›เบปเบเบเบฐเบ•เบดเบ‚เบญเบ‡เบฎเบนเบšเปเบšเบšเบ—เบตเปˆเบ–เบทเบเบเบงเบ”เบชเบญเบš.

เบเบฒเบ™เบ›เปˆเบญเบ ControlFlag 1.0, เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเปเบฒเบ™เบปเบ”เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เปƒเบ™เบฅเบฐเบซเบฑเบ” C

เป€เบ›เบฑเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เบญเบ‡เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบ‚เบญเบ‡ ControlFlag, เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเป„เบ”เป‰เบงเบดเป€เบ„เบฒเบฐเบฅเบฐเบซเบฑเบ”เปเบซเบผเปˆเบ‡เบ‚เบญเบ‡เป‚เบ„เบ‡เบเบฒเบ™ OpenSSL เปเบฅเบฐ cURL:

  • เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบœเบดเบ”เบ›เบปเบเบเบฐเบ•เบด โ€œ(s1 == NULL) โˆง (s2 == NULL)โ€ เปเบฅเบฐ โ€œ(s1 == NULL) | (s2 == NULL)" , เป€เบŠเบดเปˆเบ‡เบšเปเปˆเบเบปเบ‡เบเบฑเบšเบฎเบนเบšเปเบšเบšเบ—เบตเปˆเปƒเบŠเป‰เบ—เบปเปˆเบงเป„เบ› "(s1 == NULL) || (s2 == NULL)". เบฅเบฐเบซเบฑเบ”เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบเบฑเบ‡เป„เบ”เป‰เบเปเบฒเบ™เบปเบ”เบ„เบงเบฒเบกเบœเบดเบ”เบ›เบปเบเบเบฐเบ•เบดเปƒเบ™เบชเปเบฒเบ™เบงเบ™ "(-2 == rv)" (เบฅเบปเบšเปเบกเปˆเบ™ typo) เปเบฅเบฐ "BIO_puts(bp, ":") <= 0)" (เปƒเบ™เปเบ‡เปˆเบ‚เบญเบ‡เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบœเบปเบ™เบชเปเบฒเป€เบฅเบฑเบ”เบ‚เบญเบ‡เบเบฒเบ™เบชเปเบฒเป€เบฅเบฑเบ”. เบซเบ™เป‰เบฒเบ—เบตเปˆเบกเบฑเบ™เบ„เบงเบ™เบˆเบฐเป€เบ›เบฑเบ™ "== 0").
  • เปƒเบ™ cURL, เบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”เป„เบ”เป‰เบ–เบทเบเบ„เบปเป‰เบ™เบžเบปเบšเบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เบเบงเบ”เบžเบปเบšเป‚เบ”เบเบ™เบฑเบเบงเบดเป€เบ„เบฒเบฐเบชเบฐเบ–เบดเบ”เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเปƒเบŠเป‰เบญเบปเบ‡เบ›เบฐเบเบญเบšเป‚เบ„เบ‡เบชเป‰เบฒเบ‡ "s->keepon", เป€เบŠเบดเปˆเบ‡เบกเบตเบ›เบฐเป€เบžเบ”เบ•เบปเบงเป€เบฅเบ, เปเบ•เปˆเบ–เบทเบเบ›เบฝเบšเบ—เบฝเบšเบเบฑเบšเบ„เปˆเบฒ boolean TRUE.

เปƒเบ™เบšเบฑเบ™เบ”เบฒเบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบ‚เบญเบ‡ ControlFlag 1.0 เบฎเบธเปˆเบ™, เบกเบตเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบขเปˆเบฒเบ‡เป€เบ•เบฑเบกเบ—เบตเปˆเบชเปเบฒเบฅเบฑเบšเปเบกเปˆเปเบšเบšเบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบชเปเบฒเบฅเบฑเบšเบžเบฒเบชเบฒ C เปเบฅเบฐเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบเบงเบ”เบžเบปเบšเบ„เบงเบฒเบกเบœเบดเบ”เบ›เบปเบเบเบฐเบ•เบดเปƒเบ™เบเบฒเบ™เบชเบฐเปเบ”เบ‡ "เบ–เป‰เบฒ" เบ—เบตเปˆเบกเบตเป€เบ‡เบทเปˆเบญเบ™เป„เบ‚. เบ•เบปเบงเบขเปˆเบฒเบ‡, เป€เบกเบทเปˆเบญเบงเบดเป€เบ„เบฒเบฐเบŠเบดเป‰เบ™เบชเปˆเบงเบ™เบฅเบฐเบซเบฑเบ” โ€œเบ–เป‰เบฒ (x = 7) y = x;โ€ เบฅเบฐเบšเบปเบšเบˆเบฐเบเปเบฒเบ™เบปเบ”เบงเปˆเบฒเบ„เปเบฒเบชเบฑเปˆเบ‡ "เบ–เป‰เบฒ" เบ›เบปเบเบเบฐเบ•เบดเปเบฅเป‰เบงเปƒเบŠเป‰เบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡ "เบ•เบปเบงเปเบ› = = เบ•เบปเบงเป€เบฅเบ" เป€เบžเบทเปˆเบญเบ›เบฝเบšเบ—เบฝเบšเบ„เปˆเบฒเบ•เบปเบงเป€เบฅเบ, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบชเบนเบ‡เบ—เบตเปˆ "เบ•เบปเบงเปเบ› = เบ•เบปเบงเป€เบฅเบ" เปƒเบ™ "เบ–เป‰เบฒ" เบชเบฐเปเบ”เบ‡เบญเบญเบเปเบกเปˆเบ™เป€เบเบตเบ”เบกเบฒเบˆเบฒเบเบเบฒเบ™เบžเบดเบกเบœเบดเบ”. เบŠเบธเบ”เบ›เบฐเบเบญเบšเบกเบตเบชเบฐเบ„เบดเบšเบ—เบตเปˆเบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ”เบฒเบงเป‚เบซเบฅเบ”เบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™เบžเบฒเบชเบฒ C เบ—เบตเปˆเบกเบตเบขเบนเปˆเปƒเบ™ GitHub เปเบฅเบฐเปƒเบŠเป‰เบžเบงเบเบกเบฑเบ™เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เบ•เบปเบงเปเบšเบš. เบฎเบนเบšเปเบšเบšเบ—เบตเปˆเป€เบฎเบฑเบ”เปเบฅเป‰เบงเบเบฑเบ‡เบกเบตเบขเบนเปˆ, เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบฅเบฐเบซเบฑเบ”เบ—เบฑเบ™เบ—เบต.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™