成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

常用Console.WriteLine原理,你知道嗎?

開發 前端
有沒有好奇過,它是如何通過從托管到非托管把字符串打印輸出到屏幕上的呢?本篇來看下,原理呢其實非常簡單,通過CLR一系列的調用System.Console.dll里面的托管函數之后,最后會調用微軟原生的Windows動態鏈接庫kernel32.dll里面的函數WriteFile。

.NET里面如果有一個函數調用最多,那么莫過于Console.WriteLine了。它無處不在,基本上是.NET初學者入門的第一個函數調用,比如打印出那個著名的Hello World字符串。

static void Main(string[] args)
{
    Console.WriteLine("Hello World");
}

有沒有好奇過,它是如何通過從托管到非托管把字符串打印輸出到屏幕上的呢?本篇來看下,原理呢其實非常簡單,通過CLR一系列的調用System.Console.dll里面的托管函數之后,最后會調用微軟原生的Windows動態鏈接庫kernel32.dll里面的函數WriteFile。

WriteFile頭文件在fileapi.h,它的作用是將數據寫入指定的文件或輸入/輸出 (I/O) 設備,原型如下:

BOOL WriteFile(
  [in]                HANDLE       hFile,
  [in]                LPCVOID      lpBuffer,
  [in]                DWORD        nNumberOfBytesToWrite,
  [out, optional]     LPDWORD      lpNumberOfBytesWritten,
  [in, out, optional] LPOVERLAPPED lpOverlapped
);

返回值bool類型標識了,寫入成功或者失敗。

那么這個Console.WriteLine調用如下:

WriteLine(托管)-》
g__EnsureInitialized(托管)-》
GetStandardFile(托管)-》
ConsoleHandleIsWritable(托管)-》
WriteFile(非托管)

再引申下,Console.ReadLine呢?它跟Console.WriteLine是一樣的,不過它最后調用的是ReadFile函數了,從指定的文件或輸入/輸出 (I/O) 設備讀取數據。讀取發生在文件指針指定的位置。

責任編輯:武曉燕 來源: 江湖評談
相關推薦

2024-02-22 16:58:56

.NET9LinuxConsole

2020-12-24 15:26:07

Redis數據庫

2023-06-08 08:06:07

error錯誤頁原理

2021-09-13 19:28:42

JavaNetty開發

2020-11-26 07:48:24

Shell 腳本內置

2023-12-20 08:23:53

NIO組件非阻塞

2024-04-30 09:02:48

2023-04-26 10:21:04

2023-12-12 08:41:01

2024-05-28 09:12:10

2024-04-07 00:00:00

ESlint命令變量

2024-11-01 10:48:01

C#WPF程序

2018-09-07 15:23:16

2024-06-12 08:05:06

2024-01-09 07:29:05

Argo代碼庫應用程序

2019-12-12 09:23:29

Hello World操作系統函數庫

2017-10-16 13:45:04

2024-07-30 08:22:47

API前端網關

2022-05-27 08:55:15

工具自動化軟件

2021-02-02 08:21:28

網絡面試通信
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 红色av社区 | 在线免费观看黄a | 欧美中文字幕一区二区三区亚洲 | 亚洲欧美在线观看 | 中文字幕日韩av | 国产精品免费大片 | 亚洲国产黄色av | av中文字幕在线 | 亚洲欧美在线观看 | 特黄视频 | h片免费在线观看 | 九九热精品视频 | 天天操网 | 日韩a | 成人区一区二区三区 | 欧美福利影院 | 天堂亚洲 | 精品视频网 | 国产精品69毛片高清亚洲 | 国产日韩精品一区 | 成人影视网| 99色播 | 亚洲国产精品99久久久久久久久 | 中文在线日韩 | 国产亚洲精品久久久久久牛牛 | 欧美成人视屏 | av网站免费看 | 亚洲一区二区三区在线 | www日本在线播放 | 美国一级黄色片 | 国产日韩久久 | 久久蜜桃av | 欧美国产激情二区三区 | 操夜夜 | 久久久高清 | 亚洲成人在线免费 | 欧美一级高潮片免费的 | 视频在线一区二区 | 免费在线视频一区二区 | 成人一区二区三区 | 色综合一区二区 |