五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

為何不禁用危險的memcpy或更新memcpy源碼,而使用更安全的memcpy_s

2023-08-11 17:45 作者:大方老師單片機課堂  | 我要投稿

關于使用更安全的memcpy_s而不禁用危險的memcpy或更新memcpy源碼的問題,以下是一些考慮因素:

首先,memcpy_s并不是絕對安全的實現(xiàn)。盡管它要求您提供一個長度參數(shù)來確保不會發(fā)生溢出或越界問題,但這個長度仍然需要您自己提供,而不是通過標準庫的各種黑魔法進行判斷。如果您傳入的長度有問題,這些所謂的"安全函數(shù)"仍然可能悄無聲息地引發(fā)錯誤,就像非安全版本一樣。而且,對于返回的錯誤,您可能并不會每次都檢查,尤其是在您確信目標位置足夠大的情況下,而這正是許多程序中出現(xiàn)越界訪問的根本原因之一。

其次,在許多需要大量數(shù)據(jù)復制的情況下,特別是涉及到IO操作時,頻繁進行長度判斷會嚴重影響性能,尤其是在數(shù)據(jù)長度每次都不同的情況下。這可能導致分支預測出現(xiàn)大量錯誤,嚴重降低性能。剛好,我這里有嵌入式學習路線,畢設,各種項目,需要留個6。

最后,還有可移植性的問題。目前只有Windows平臺強制推廣使用這類安全函數(shù),而在其他平臺上,對于C運行庫來說,這種安全函數(shù)并不是必需的。如果您編寫的代碼需要使用這些函數(shù),而其他人仍在使用舊版本的GCC 3.3編譯器,可能會告訴您這些代碼無法編譯。這就需要您在編寫代碼時進行區(qū)分,以編寫適應兩種情況的代碼。

綜上所述,考慮到memcpy_s的安全性并非絕對,性能損耗以及可移植性問題,因此在是否禁用危險的memcpy或更新memcpy源碼方面,需要權衡利弊并根據(jù)具體情況做出決策。



為何不禁用危險的memcpy或更新memcpy源碼,而使用更安全的memcpy_s的評論 (共 條)

分享到微博請遵守國家法律
若尔盖县| 洛宁县| 梁河县| 社会| 洛阳市| 郎溪县| 宁化县| 昭觉县| 新津县| 吴川市| 延津县| 石柱| 姚安县| 韶关市| 抚州市| 临清市| 嫩江县| 芜湖县| 诸暨市| 靖江市| 平湖市| 仙居县| 虎林市| 青冈县| 当涂县| 嫩江县| 赣州市| 桦川县| 萍乡市| 嘉荫县| 静安区| 嘉义县| 禹城市| 澄城县| 灯塔市| 茂名市| 通道| 灌云县| 连山| 辽中县| 秭归县|