日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

代码结构分层

發布時間:2025/4/5 编程问答 9 豆豆
生活随笔 收集整理的這篇文章主要介紹了 代码结构分层 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

    • 1 代碼結構分層
      • 1.1 定義基本數據類型和錯誤碼
      • 1.2 定義設備類結構和定義操作接口結構
      • 1.3 添加驅動實例

1 代碼結構分層

我們需要將代碼結構進行分層,有如下好處:

  • 有組織的安排代碼編寫的文件。
  • 分層結構能簡化代碼開發。
  • 主要分為如下三層:

    三層結構的具體功能:

    在此之前我們需要了解下塊設備的原理:

    代碼組織結構如下圖:

    1.1 定義基本數據類型和錯誤碼

    在xtypes.h文件中實現:

    /*** 本源碼配套的課程為 - 從0到1動手寫FAT32文件系統。每個例程對應一個課時,盡可能注釋。* 作者:李述銅* 課程網址:http://01ketang.cc* 版權聲明:本源碼非開源,二次開發,或其它商用前請聯系作者。*/ #ifndef XTYPES_H #define XTYPES_H#include <stdint.h>typedef uint8_t u8_t; typedef uint16_t u16_t; typedef uint32_t u32_t; typedef uint64_t u64_t;typedef enum _xfat_err_t {FS_ERR_OK = 0, }xfat_err_t;#endif

    1.2 定義設備類結構和定義操作接口結構

    主要在xdisk.h中實現:

    /*** 本源碼配套的課程為 - 從0到1動手寫FAT32文件系統。每個例程對應一個課時,盡可能注釋。* 作者:李述銅* 課程網址:http://01ketang.cc* 版權聲明:本源碼非開源,二次開發,或其它商用前請聯系作者。*/ #ifndef XDISK_H #define XDISK_H#include "xtypes.h"// 相關前置聲明 struct _xdisk_t;/*** 磁盤驅動接口*/ typedef struct _xdisk_driver_t {xfat_err_t (*open) (struct _xdisk_t * disk, void * init_data);xfat_err_t (*close) (struct _xdisk_t * disk);xfat_err_t (*read_sector) (struct _xdisk_t *disk, u8_t *buffer, u32_t start_sector, u32_t count);xfat_err_t (*write_sector) (struct _xdisk_t *disk, u8_t *buffer, u32_t start_sector, u32_t count); }xdisk_driver_t;/*** 存儲設備類型*/ typedef struct _xdisk_t {u32_t sector_size; // 塊大小u32_t total_sector; // 總的塊數量xdisk_driver_t * driver; // 驅動接口 }xdisk_t;#endif

    1.3 添加驅動實例

    主要在driver.c中實現:

    /*** 本源碼配套的課程為 - 從0到1動手寫FAT32文件系統。每個例程對應一個課時,盡可能注釋。* 作者:李述銅* 課程網址:http://01ketang.cc* 版權聲明:本源碼非開源,二次開發,或其它商用前請聯系作者。*/ #include "xdisk.h" #include "xfat.h"/*** 初始化磁盤設備* @param disk 初始化的設備* @param name 設備的名稱* @return*/ static xfat_err_t xdisk_hw_open(xdisk_t *disk, void * init_data) { }/*** 關閉存儲設備* @param disk* @return*/ static xfat_err_t xdisk_hw_close(xdisk_t * disk) { }/*** 從設備中讀取指定扇區數量的數據* @param disk 讀取的磁盤* @param buffer 讀取數據存儲的緩沖區* @param start_sector 讀取的起始扇區* @param count 讀取的扇區數量* @return*/ static xfat_err_t xdisk_hw_read_sector(xdisk_t *disk, u8_t *buffer, u32_t start_sector, u32_t count) { }/*** 向設備中寫指定的扇區數量的數據* @param disk 寫入的存儲設備* @param buffer 數據源緩沖區* @param start_sector 寫入的起始扇區* @param count 寫入的扇區數* @return*/ static xfat_err_t xdisk_hw_write_sector(xdisk_t *disk, u8_t *buffer, u32_t start_sector, u32_t count) { }/*** 虛擬磁盤驅動結構*/ xdisk_driver_t vdisk_driver = {.open = xdisk_hw_open,.close = xdisk_hw_close,.read_sector = xdisk_hw_read_sector,.write_sector = xdisk_hw_write_sector, };

    參考資料:

  • 自己動手從0到1學寫FAT32文件系統
  • 總結

    以上是生活随笔為你收集整理的代码结构分层的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 在线观看视频一区二区三区 | 曰女同女同中文字幕 | 成年人在线免费观看视频网站 | 黄色国产大片 | 日韩亚州 | 99亚洲国产精品 | 噼里啪啦高清 | 依依激情网 | 久草国产在线视频 | 7mav视频 | 精品一卡二卡三卡 | 午夜av在线免费观看 | 五月婷网站 | 波多野结衣人妻 | 人人草在线观看 | 一区二区三区视频在线播放 | 免费黄网在线看 | 亚洲一区福利视频 | www.av欧美| 在线综合网 | 又嫩又硬又黄又爽的视频 | 欧美一级片在线 | 无码日韩精品一区二区 | 亚洲AV无码AV吞精久久中文版 | 国产精品人人妻人人爽 | 欧美一区二区三区免费在线观看 | 国产乱码在线观看 | 99久国产 | 日韩v在线| 国产超碰人人爽人人做人人爱 | 日本黄色大片在线观看 | 亚洲一区二区三区综合 | 第一色网站 | 日韩欧美国产视频 | 在哪里可以看黄色片 | 一本大道视频 | 亚州久久久 | 欧美视频免费 | 精品无码国产一区二区三区51安 | 91香草视频| av有码在线 | 老司机一区 | 青草视频在线播放 | 一区二区亚洲精品 | 午夜影院18 | 打屁股调教网站 | 最新视频在线观看 | 天天爽夜夜 | 欧美日韩在线一区二区 | 激情涩涩 | 熟妇高潮喷沈阳45熟妇高潮喷 | 国产精品一级黄色片 | 又紧又大又爽精品一区二区 | 国产视频最新 | 久热中文 | 在线观看毛片网站 | 性猛交╳xxx乱大交 偷偷操不一样的久久 | 婷婷丁香六月 | 91嫩草在线| 国产一区二区三区四区五区六区 | 久久久视频在线观看 | 黄色aa级片 | 国产又黄又大又粗的视频 | 亚洲爱爱av| 国产另类av| 99国产精品99| 国产毛片a| 国产网站黄色 | 7mav视频 | 精品久| 夜夜综合网 | 国产又粗又长又大 | 麻豆www.| 天堂最新 | 麻豆成人免费视频 | 精品黑人一区二区三区国语馆 | 一本一道久久a久久综合蜜桃 | 亚洲一区人妻 | 国产一级片av | h在线网站 | 日韩欧美一区二区视频 | 亚洲激情在线视频 | 欧美啪视频 | 亚洲成人黄色影院 | 色爱亚洲 | 国产鲁鲁视频在线观看特色 | 日本网站黄色 | 欧洲性生活视频 | 日日操日日操 | 污视频在线 | 久久永久视频 | 欧美成人国产精品高潮 | av国产一区二区 | 中文字幕久久一区 | 中文字幕网站在线观看 | 色婷婷亚洲一区二区三区 | 欧美乱码精品一区二区三区 | 国产女厕一区二区三区在线视 | 色婷综合|