Hoʻokuʻu ʻia o ControlFlag 1.0, kahi mea hana no ka ʻike ʻana i nā hewa i ka code C

Ua hoʻopuka ʻo Intel i ka hoʻokuʻu nui mua o ka mea hana ControlFlag 1.0, e ʻae iā ʻoe e ʻike i nā hewa a me nā anomalies i ka code kumu me ka hoʻohana ʻana i kahi ʻōnaehana aʻo mīkini i aʻo ʻia ma kahi helu nui o nā code i loaʻa. 'A'ole e like me nā mea ho'oponopono static ma'amau, 'a'ole pili 'o ControlFlag i nā lula i ho'omākaukau 'ia, kahi e pa'akikī ai ka hā'awi 'ana i nā koho a pau, akā ua ho'okumu 'ia ma nā 'ikepili no ka ho'ohana 'ana i nā 'ōlelo like 'ole i loko o ka nui o nā papahana e kū nei. Ua kākau ʻia ka code ControlFlag ma C++ a wehe ʻia ma lalo o ka laikini MIT.

Hoʻomaʻamaʻa ʻia ka ʻōnaehana ma ke kūkulu ʻana i kahi hoʻohālike helu o ka helu helu o nā papahana open-source i paʻi ʻia ma GitHub a me nā waihona lehulehu like. Ma ke kahua hoʻomaʻamaʻa, hoʻoholo ka ʻōnaehana i nā hiʻohiʻona maʻamau no ke kūkulu ʻana i nā hale i loko o ke code a kūkulu i kahi lāʻau syntactic o nā pilina ma waena o kēia mau hiʻohiʻona, e hōʻike ana i ke kahe o ka hoʻokō code i ka papahana. ʻO ka hopena, ua hoʻokumu ʻia kahi kumulāʻau hoʻoholo kuhikuhi e hoʻohui i ka ʻike hoʻomohala o nā code kumu i kālailai ʻia. ʻO ke code ma lalo o ka loiloi e hana ʻia i kahi kaʻina like o ka ʻike ʻana i nā mamana i nānā ʻia ma kahi kumu hoʻoholo kuhikuhi. ʻO nā ʻokoʻa nui me nā lālā pili e hōʻike ana i kahi anomaly i ke kumu e nānā ʻia nei.

Hoʻokuʻu ʻia o ControlFlag 1.0, kahi mea hana no ka ʻike ʻana i nā hewa i ka code C

Ma ke ʻano he laʻana o ka mana o ControlFlag, ua kālailai nā mea hoʻomohala i nā kumu kumu o nā papahana OpenSSL a me cURL:

  • Nā hana anomalous "(s1 == NULL) ∧ (s2 == NULL)" a me "(s1 == NULL) | (s2 == NULL)" , ʻaʻole i kūlike i ke kumu hoʻohana maʻamau "(s1 == NULL) || (s2 == NULL)". Ua ʻike pū ʻia ka code i nā anomalies i nā huaʻōlelo "(-2 == rv)" (ʻo ka minus he typo) a me "BIO_puts(bp, ":") <= 0)" (ma ke ʻano o ka nānā ʻana i ka hoʻokō kūleʻa o ka ʻO ka hana pono he "== 0").
  • I ka cURL, ua ʻike ʻia kahi ʻōpala i ʻike ʻole ʻia e nā mea hoʻoponopono static i ka wā e hoʻohana ai i ka element structure "s->keepon", he ʻano helu, akā ua hoʻohālikelike ʻia me ka waiwai boolean TRUE.

Ma waena o nā hiʻohiʻona o ka mana ControlFlag 1.0, aia ke kākoʻo piha no nā maʻamau maʻamau no ka ʻōlelo C a me ka hiki ke ʻike i nā anomalies i nā ʻōlelo kūlana "inā". No ka laʻana, i ka nānā ʻana i ka ʻāpana code "inā (x = 7) y = x;" E hoʻoholo ka ʻōnaehana e hoʻohana maʻamau ka ʻōlelo "inā" i ka hana "variable == helu" no ka hoʻohālikelike ʻana i nā waiwai helu, no laila ʻoi aku ka nui o ka "variable = helu" ma ka ʻōlelo "inā" ma muli o ka typo. Aia i loko o ka pahu kahi palapala e hiki ai iā ʻoe ke hoʻoiho i nā waihona ʻōlelo C i loaʻa ma GitHub a hoʻohana iā lākou e kūkulu i ke kumu hoʻohālike. Loaʻa nā hiʻohiʻona mākaukau, hiki iā ʻoe ke hoʻomaka koke e nānā i ke code.

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka