- 30天自制操作系統(tǒng)
- (日)川合秀實(shí)
- 384字
- 2020-03-11 14:01:47
3 試用箭頭記號(hào)(harib02c)
事實(shí)上,在C語言里常常會(huì)用到類似于(*binfo).scrnx的表現(xiàn)手法,因此出現(xiàn)了一種不使用括號(hào)的省略表現(xiàn)方式,即binfo→scrnx,我們稱之為箭頭標(biāo)記方式。前面也講到過,a[i]是*(a + i)的省略表現(xiàn)形式所以可以說C語言中關(guān)于指針的省略表現(xiàn)形式很充實(shí),很豐富。
使用箭頭,可以將“xsize = (*binfo).scrnx; ”寫成“xsize = binfo->scrnx; ”,簡(jiǎn)單又方便。不過我們還想更簡(jiǎn)潔些,即連變量xsize都不用,而是直接以binfo->scrnx來代替xsize。
本次的HariMain節(jié)選
void HariMain(void) { struct BOOTINFO *binfo = (struct BOOTINFO *) 0x0ff0; init_palette(); init_screen(binfo->vram, binfo->scrnx, binfo->scrny);
哦,看上去真清爽。我們運(yùn)行一下“make run”,運(yùn)行正常。
這次我們想了很多方法,但這些都只是C語言寫法的問題,編譯成機(jī)器語言以后,幾乎沒有差別。既然沒有差別,筆者認(rèn)為寫得清晰一些沒什么壞處,所以決定今后積極使用這種寫法。討厭在寫法上花工夫的人不使用結(jié)構(gòu)體也沒關(guān)系,再退一步,還可以不用指針,繼續(xù)使用write_mem8什么的也沒問題。可以根據(jù)自己的理解程度和習(xí)慣,選擇自己喜歡的方式。
推薦閱讀
- Kubernetes修煉手冊(cè)
- Learning OpenDaylight
- Designing Purpose:Built Drones for Ardupilot Pixhawk 2.1
- UNIX操作系統(tǒng)設(shè)計(jì)
- Linux從零開始學(xué)(視頻教學(xué)版)
- Mastering KVM Virtualization
- Mobile First Design with HTML5 and CSS3
- INSTANT Migration from Windows Server 2008 and 2008 R2 to 2012 How-to
- Advanced TypeScript Programming Projects
- iOS 8開發(fā)指南
- Linux系統(tǒng)最佳實(shí)踐工具:命令行技術(shù)
- Windows 7實(shí)戰(zhàn)從入門到精通
- 電腦辦公(Windows 10 + Office 2016)入門與提高(超值版)
- Linux從入門到精通(視頻教學(xué)版)
- VMware vSphere 5.1 Cookbook