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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

arm-linux学习笔记3-linux内存管理与文件操作

發布時間:2024/4/17 linux 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 arm-linux学习笔记3-linux内存管理与文件操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

配置好linux系統之后需要vim配置一下,有助于我們的編程,主要的配置如下

在/etc/vim/vimrc文件中

"顯示行號

set number

"自動縮進

set autoindent

"智能縮進

set smartindent

"一次四格 tab

set tabstop=4

"一次四格

set shiftwidth=4

"括號匹配

set showmatch

"右下角顯示光標狀態行

set ruler

"文件類型檢測

filetype on

?

基本上這些配置就好了

內存管理基本上就是內存的申請,內存的釋放,已經申請的內存大小調整這些函數,如下使用

?

malloc 用于申請內存

free 用于釋放內存

calloc 申請一塊內存,同時初始化這一塊內存

realloc原來的內存大小不對,現在申請一塊新的內存,同時先釋放掉原來的內存

?

?

文件系統

Linux文件系統支持兩種,一種是系統調用的編程,還有一個是標準庫的編程,先說標準庫

在linux ascii編程中,文件的表示是文件指正FILE*類型

  • 標準輸入 stdin鍵盤標準輸入 stdout標準輸出默認是屏幕 stderr 標準錯誤 默認是屏幕
  • 緩沖,linux文件系統包含三種緩沖機制,全緩沖,緩沖區寫滿之后才會讀寫物理設備,行緩沖,遇到換行符’\n’才會寫入物理設備 無緩沖,直接讀寫,建議不用
  • setbuf函數可以設置緩沖區大小,參數是文件指針和緩沖區

    setvbuf 設置緩沖的大小,緩沖的模式

    3._IOFBF全緩沖?? _IOLBF行緩沖? _IONBF無緩沖

    4.文件的打開和關閉

    fopen 打開帶模式 r讀 w wb 寫并清空 rb+讀寫打開 w+寫并清空

    fclose 關閉文件

    ?

    讀文件

    getc 讀取一個字節,失敗或者到末尾返回EOF

    fgetc 和前一個一樣

    getchar 從標準輸入讀入一個字節

    ?

    putc

    fputc 寫入一個字節

    putchar 向標準輸出寫入一個字節

    ?

    fgets 從文件中讀取一行

    gets 從標準輸入讀取一行

    ?

    fputs 向文件中寫入一行字符串,終止符必須是nil

    puts 向標準輸出輸出一行

    ?

    fread 讀取一塊 參數是緩沖區指針 數據塊大小 數據塊數量 文件指正

    fwrite 寫入一塊 參數類似,只是動作變成了寫入

    ?

    文件定位

    fseek 參數為文件指針 定位偏移 起始點

    SEEK_CUR 當前位置 SEEK_END文件結尾 SEEK_SET文件開頭

    ftell 該函數也是文件定位,只是依靠文件指正參數中的數據來定位

    rewind 將文件指正設置為最開始位置

    ?

    ?

    第二種文件編程為系統調用 posix調用

    Posix調用對于每一個文件都有一個文件描述符,是一個整數,代表一個索引值,默認一個進程最多可以打開1024個文件

    標準輸入文件描述符0 標準輸出 1 標準錯誤 2

    文件的打開

    首先使用posix需要包含文件

    <sys/types.h>

    <sys/stat.h>

    <fcntl.h>

    還有一個全局的變量errno

    open 打開文件,文件路徑 打開標志 (打開同時創建還要制定文件權限)

    標志包括o_rdonly o_wronly o_rdwr等

    ?

    create 創建文件 目前不需要,直接使用open就可以創建

    close 關閉文件,參數為文件標識符

    ?

    讀寫文件內容

    write

    read

    ?

    文件定位

    lseek 參數與fseek基本一致,只是文件指針換成了文件標識符

    修改已經打開的文件的屬性

    fcntl 涉及到文件鎖的操作

    ?

    轉載于:https://www.cnblogs.com/dengxiaojun/p/4559658.html

    與50位技術專家面對面20年技術見證,附贈技術全景圖

    總結

    以上是生活随笔為你收集整理的arm-linux学习笔记3-linux内存管理与文件操作的全部內容,希望文章能夠幫你解決所遇到的問題。

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