arm-linux學習筆記3-linux內存管理與文件操做

配置好linux系統以後須要vim配置一下,有助於咱們的編程,主要的配置以下linux

在/etc/vim/vimrc文件中編程

"顯示行號vim

set number函數

"自動縮進指針

set autoindent索引

"智能縮進進程

set smartindent內存

"一次四格 tabci

set tabstop=4字符串

"一次四格

set shiftwidth=4

"括號匹配

set showmatch

"右下角顯示光標狀態行

set ruler

"文件類型檢測

filetype on

 

基本上這些配置就行了

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

 

malloc 用於申請內存

free 用於釋放內存

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

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

 

 

文件系統

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

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

  1. 標準輸入 stdin鍵盤標準輸入 stdout標準輸出默認是屏幕 stderr 標準錯誤 默認是屏幕
  2. 緩衝,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 涉及到文件鎖的操做

相關文章
相關標籤/搜索