亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么從 C# 程序調用 C 函數不需要不安全的上下文?

為什么從 C# 程序調用 C 函數不需要不安全的上下文?

C#
肥皂起泡泡 2021-06-03 12:20:50
我最近開始研究 C# 編程(我之前只研究過 C)。我開始知道我們需要使用不安全的上下文來在 C# 程序中使用指針作為Microsoft 文檔頁面。不使用指針的優點之一是使用不安全的代碼會帶來安全性和穩定性風險。但是我們不需要使用不安全的上下文來調用 C 中可能包含編寫不良的代碼或安全漏洞的函數。公共語言運行時無法檢測這些 C 函數中的問題。這些是我的問題為什么即使 CLR 無法檢測到這些代碼中的問題,也不需要使用不安全的上下文來執行用 C 編寫的函數?不使用不安全上下文來調用用 C 編寫的函數有什么好處?
查看完整描述

1 回答

?
絕地無雙

TA貢獻1946條經驗 獲得超4個贊

為什么即使 CLR 無法檢測到這些代碼中的問題,也不需要使用不安全的上下文來執行用 C 編寫的函數?

不安全模式與被調用的方法不安全無關,C# 代碼也同樣不安全。不安全模式是關于繞過的內存管理。如果您通過 CLR(如此托管)分配變量,這些變量被傳遞到 C++ 庫,如 Win32 庫,CLR 仍然可以管理使用的內存段,因為它們仍然是 CLR 變量。

不使用不安全上下文來調用用 C 編寫的函數有什么好處?

如果您不需要不安全的內存分配,則使用unsafe上下文沒有意義。


查看完整回答
反對 回復 2021-06-05
  • 1 回答
  • 0 關注
  • 217 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號