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

歡迎訪問 生活随笔!

生活随笔

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

linux

Linux开发初步

發布時間:2023/12/20 linux 56 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux开发初步 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Linux開發初步


宗旨:技術的學習是有限的,分享的精神是無限的。


一、庫函數與系統調用

1、系統調用函數和庫函數

庫函數是一些完成特定功能的函數,一般由某個標準組織制作發布,并形成一定的標準。使用庫函數編寫的函數一般可以應用于不同的平臺而不需要做任何修改,具有很好的可移植性。

系統調用函數與操作系統直接相關,不同的操作系統所使用的系統調用可能不太一樣,因此,如果兩個操作系統差異很大,系統調用函數的可移植性就不高。例如windows采用的系統調用的應用程序不能直接在Linux下編譯運行。

之所以使用系統調用是因為系統資源的有限性以及內核管理的方便,系統調用將上層內的應用開發與底層的硬件實現分開,上層應用不需要關注底層硬件的具體實現。Linux的系統調用使用軟中斷實現,使用系統調用后,該程序的狀態將從用戶態切換到內核態。庫函數實現最終也要調用系統調用函數,但它封裝了系統調用操作,從而增加了代碼的可移植性。

?

2glibc函數庫

C語言本身沒有為常見操作(輸入輸出、內存管理等)提供支持,都是依靠標準函數庫提供。Glibc基于如下標準:

(1)ISO C(ANSI C)

(2)POSIX

(3)Berkeley UNIX:BSD號出爐函數以及套接字。

(4)SVID(System V):進程通信,共享內存

(5)XPG(X/Open可移植性指南)

?

3、系統調用(系統調用時操作系統提供給外部程序的接口)

(1)系統調用函數通常在成功時返回0,失敗是返回非零值。檢查失敗原因,要判斷全局變量errno值,errno中包含錯誤代碼。

(2)許多系統調用的返回數據通常引用參數傳遞。需要在函數參數中傳遞緩沖區地址,而返回的數據就保存在該緩沖區中。

(3)不能認為系統調用比其他函數的執行效率高。——系統調用時一個非常耗時的過程。

?

二、在線文檔

1、man手冊(man man可查看)

man1:命令。可以查看shell終端下命令使用。

man2:系統調用。內核系統調用描述。

man3:庫函數調用。

man4:特殊文件。查看/dev目錄下的特殊文件

man5:文件格式和約定。查看/etc/passwd等文件的格式。man /etc/passwd

man6:游戲。

man7:雜項和約定。

man8:系統管理命令。只有管理員使用的命令。

man9:內核例程。

如: man 1 ls???? man 2 open?? man 3 fread??man 7 man等

2、info手冊——超文本幫助系統(/usr/info)

3、--help

?

三、獲取錯誤信息

? ? ? ? ?調用庫函數和系統調用后,執行成功返回0,或者正確值;執行失敗返回-1,并把系統全局變量errno(errno.h)賦值。所有的錯誤代碼都在errno.h文件中定義。/usr/include/asm/errno.h

為了打印具體的errno'信息,一般使用perror()函數。

void perror(const char * s); // 字符串常量

if(chmod("test02", (stabuf.st_mode& ~S_IXGRP) | S_ISGID) < 0)

{

???perror("stat");

exit(EXIT_FAILURE);

}

?

四、開發環境構成

編輯器:vi/vim,gedit,emacs,nano等【vim配置前面文章已經提到】

編譯器:gcc 【gcc-v】

調試器:gdb

函數庫:glibc

系統頭文件:glibc_header

C開發過程:vim編輯保存為.c文件,gcc編譯成可執行文件,出錯使用gdb調試。

?

五、常用鍵盤組合鍵【stty –a可以查看組合鍵】

ctrl+ c:中斷程序

ctrl+ \:退出程序

ctrl+ S:結束程序

ctrl+ Z:掛起程序

ctrl+ alt + T:打開終端(Ubuntu)

?

六、AStyleSourceInsight中應用【AStyle插件】

Astyle下載:https://sourceforge.net/projects/astyle/files/astyle/,解壓路徑自己定

配置AStyle格式化代碼工具:Option —— Custom Cmmands —— Add —— 取名AStyle——Run:"D:\ProgramFiles\AStyle\bin\AStyle.exe" -A1 -s2 -p -j -n -c %f

配置格式化快捷鍵:Option —— Menu Assignments —— Menu下拉框選View—— 選右邊的Insert —— 點擊右下角的Key —— 點進Keystrokes中,同時按下鍵盤ctrl + alt + f確定就完成了。

astyle格式化代碼工具可以讓代碼保持整潔有序,非常有效的工具。

總結

以上是生活随笔為你收集整理的Linux开发初步的全部內容,希望文章能夠幫你解決所遇到的問題。

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