【Linux】期末復習

《Linux程序設計》各章知識點梳理
第1章

  1. 軟件包的管理方式方面,Ubuntu、CentOS的差異
    Ubantu使用APT,CentOS使用YUM

  2. 如何添加一個新用戶?
    Useradd new_user_name

  3. 什么是Shell?
    Shell 是一個用 C 語言編寫的程序,這個應用程序提供了一個界面,用戶通過這個界面訪問操作系統內核的服務。

  4. 如何查看一條命令的幫助文檔?
    man 命令

  5. ls命令的各種選項

  6. -l(長格式):以長格式列出信息,包括文件權限、所有者、大小和最后修改時間。
    ls -l

  7. -a(所有文件):顯示所有文件和目錄,包括以點(.)開頭的隱藏文件。
    ls -a

  8. -h(易讀格式):與 -l 結合使用時,以易讀的格式顯示文件大小(例如,以 K、M 或 G 顯示)。
    ls -lh

  9. -t:按修改時間排序,通常與 -l 結合使用。
    ls -lt

  10. -d:僅顯示目錄本身的信息,而不是目錄內容。
    ls -d mydir

  11. -p:在每個文件或目錄名后添加一個斜杠(/),以區分文件和目錄。
    ls -p

  12. -i:顯示文件的 inode 號。
    ls -i

  13. 建立、復制、刪除目錄
    建立:mkdir
    復制:cp -r src dst
    刪除:rm -r(通用)、rmdir(刪除空目錄)

  14. cd命令,如何進入特定的目錄,例如主目錄、上一層目錄等?
    進入主目錄:Cd ~
    進入上一層:cd …

  15. chmod命令,修改權限
    chmod 777

  16. grep與正則表達式
    頭,$尾,[a-z],[a-z]非

  17. sort命令
    ? sort filename.txt
    將 filename.txt 文件中的行輸出到標準輸出,按字典序排序。

  18. wc命令,管道的使用
    wc -l 統計行數
    wc -c 統計字節
    wc -m 統計字符
    wc -w 統計單詞
    管道:|

  19. pwd與PWD
    pwd 是一個命令,顯示當前目錄
    PWD 是環境變量,顯示的也是當前目錄的完整路徑

  20. 各種壓縮命令,特別是tar命令
    ? 文件歸檔
    tar [cx][zj][v]f filename [filelist]
    ? c: 創建歸檔
    ? x:展開歸檔
    ? z:調用gzip對歸檔壓縮/解壓
    ? j:調用bzip2對歸檔壓縮/解壓
    ? v:顯示冗余信息

  21. find命令
    ? find — 文件搜索
    find [目錄] [選項] [動作]
    ? -name 按名稱查找,可以使用通配符,但必須使用引號括起來
    ? -type 按類型查找
    ? -exec 將查找到的目標進行進一步處理,exec后跟隨處理命令,命令中通過 {} 引用被找的文件,而且命令必須以 “ ;”結束

  22. mv命令,移動與改名
    移動到不存在的文件就是改名

  23. ln 與 ln -s,符號鏈接文件與硬鏈接文件的區別?
    符號鏈接(ln -s):是一種獨立的文件,創建時源文件可以不存在,可以跨文件
    名稱 命令 類型 源文件 跨文件系統 備注
    符號鏈接 ln -s 獨立文件 可以不存在 可以
    硬鏈接 ln 與源文件共享一個inode 必須存在 不可以 不能給目錄創建硬鏈接

  24. head tail cat more
    ? more 命令用于分頁查看文件內容。它一次顯示一頁內容,你可以按回車鍵查看下一頁,或使用空格鍵查看下一頁的下一行。
    ? less 命令是一個更強大的 more 命令版本,它允許你前后翻頁,并且可以搜索文本。less 也可以用來查看壓縮文件和管道輸出。
    ? head 命令用于顯示文件的開始部分,默認情況下顯示前 10 行。
    ? tail 命令用于顯示文件的末尾部分,默認情況下顯示最后 10 行。

  25. bc計算,與echo命令搭配,如何做計算?如何做小數或浮點數的運算?
    qiao@qiao-virtual-machine:~/workspace$ echo “scale=3; (12.3 + 4.56) * 7.8” | bc
    131.508

  26. ps -l命令、ps -ef命令
    ? 查看進程—ps
    ps [-lauxwm]
    ? l:以長列表形式顯示
    ? w:以加寬格式顯示
    ? a:顯示所有用戶進程
    ? u:按用戶名和啟動時間的順序顯示進程
    ? x:顯示無控制臺進程
    ? ef:全部進程+完整信息
    常用組合:-aux 顯示所有進程
    ? 進程監控—top

  27. who、free
    who:顯示當前在線用戶
    free:顯示內存信息

  28. kill命令及kill函數(C語言)
    命令:kill -SIGKILL PID
    C語言:int kill(pid_t pid, int sig);

  29. 大寫的PWD、PATH、HOME、USER分別表示什么含義?
    ? PWD:當前工作目錄路徑
    ? PATH:命令執行路徑
    ? HOME:用戶主目錄
    ? USER:用戶登錄名

  30. Shell元字符*、?、[]、{}、~的使用方法

  31. 重定向> >> < ,命令的后臺執行、順序執行分別用什么?

: 輸出重定向,會清空文件內容

輸出重定向,不會清空文件內容
< 輸入重定向
后臺執行:&
順序執行:管道,分號隔開

  1. vim有哪幾種工作模式?命令模式、末行模式的各種基本操作
    三種:輸入模式,上述兩種
    命令模式:dd刪除、p粘貼、yy復制
    末行模式:wq保存退出、q不保存退出、q!強制退出

  2. Linux文件系統中,有一些默認的目錄,例如/etc、/dev等,它們分別存放什么文件?
    /etc: 存放配置文件
    /dev: 存放設備文件

  3. /etc/passwd是什么文件?文件的內容有哪些?
    存放用戶信息

  4. 如何利用管道將多個命令連接起來完成一個指定的任務,例如“統計所有普通文件所含有的字符數”、“統計所有普通文件的個數”
    cat file_name | wc -m
    find -type f | wc -l
    第2章

  5. bash腳本的第一行
    幻數,內核程序用以標識這是腳本程序

  6. shell腳本中,$0 $1 $2 $# $* $?的含義
    變量名 含義
    $? 最后一次執行命令的返回碼
    $$ 當前腳本自己的PID
    $# 命令行參數的個數
    $0 腳本文件本身的名字
    $1, 2 … 第一、第二個命令行參數“ 2… 第一、第二個命令行參數 “ 2第一、第二個命令行參數*” 將所有命令行參數作為一個整體單詞看待
    “$@” 將命令行參數作為多個單詞看待

  7. Shell編程例題
    #!/bin/bash 幻數
    echo -n enter filename: 不輸出換行符,打印enter filename
    read fname 讀入文件名存入fname
    echo -n enter words:
    read words
    echo w o r d s 2 > / d e v / n u l l > words 2>/dev/null > words2>/dev/null>fname輸出剛讀入的words,不輸出錯誤信息,將words內容重定向到fname
    if [ $? –eq 0 ]如果上一條echo命令的返回碼為0(也就是成功執行)
    then
    echo Write successfully
    else
    echo write error
    fi

  8. 知道()、{}、[]、[[]]、 (())的使用方法 ? () 子shell中執行 ? 如果是arr=(1,2,3),那就是數組賦值 ? {} 本shell中執行、聲明數組、{1..4}生成1-4 ? 上述兩個都可以成組命令,使用 && 、|| ? [] 測試條件 ? [[]] 更復雜的條件測試,可以對于字符串操作、算數比較 ? 命令替換
    ? (()) 執行算術運算

  9. echo “ i ”與 e c h o ‘ i” 與 echo ‘ iechoi’的執行結果的區別
    “” 會替換i變量的值,’’ 不會

  10. read命令,read $xyz是否正確?
    錯誤,read讀入的應該是變量,而不是環境變量

  11. 牢固掌握if語句的用法

  12. shell下如何做字符串拼接?
    echo “$word1 $word2”

  13. 如何判斷一個變量是文件還是目錄,-e -s的含義
    ? -f 普通文件 、-d 目錄
    ? -s 文件大小非零
    ? -r 可讀 -w 可寫 -x 可執行
    ? -L/h 符號鏈接文件

  14. 字符串、表達式的比較

  15. for循環,for循環的C語言風格寫法

  16. while循環,無限循環,怎么寫?

  17. case語句

  18. break

  19. continue

  20. 數組,a=(one two three four)是什么含義?如何輸出數組的每個元素?如何獲取數組的元素個數?
    echo ${a[@]}
    echo “數組元素個數為: ${#my_array[@]}”

  21. 斐波那契數列的構造及其求和。

注:下列內容中,系統調用與函數在說法上沒有加以區分。
第3章

  1. gcc -c的含義

  2. gcc編譯過程包括哪些步驟,其中的鏈接步驟指的是什么?
    ? 預處理(-E,*.i):宏替換
    ? 編譯(-S, *.s):C語言轉為匯編代碼
    ? 匯編(-c, *.o):匯編代碼轉為機器代碼
    ? 鏈接(gcc):將機器代碼和庫文件鏈接

  3. 靜態庫與共享庫的不同之處是什么?
    靜態庫:鏈接時,庫成為代碼的一部分
    共享庫:運行時將庫引用插入,庫的代碼不復制,需要用到時,操作系統加載

  4. make命令的功能、好處?makefile、Makefile的作用,基本結構?
    功能:自動化編譯、
    好處: 節省時間
    結構:
    目標文件:依賴文件
    命令
    第4章

  5. 時間函數(asctime、localtime、time)的使用方法
    ? time_t time(time_t *t) 系統調用,返回自1970.1.1午夜以來流失的秒數。
    ? struct tm * localtime(const time_t * t)
    ? char * asctime(const struct tm *tp) 和 char * ctime(const time_t * t) 都是將指定時間轉換為字符形式的時間,長度大概26個字母。

  6. tm結構的基本屬性
    tm_mday tm_mon

  7. 如何在C語言中輸出當前的時間?(不使用system或exec函數族)

  8. 什么是用戶空間、什么是內核空間?
    ? 系統調用在內核空間,是系統內核的所在區域
    ? 庫函數調用在用戶空間,是普通程序的內存區域

  9. getenv函數與env命令
    都是獲取環境變量
    第5章

  10. 什么是系統調用、什么是函數?
    系統調用:是面向硬件的調用,無緩沖區
    函數:是程序的api

  11. chmod函數

  12. umask函數的作用、umask命令的使用方法
    mode_t umask(mode_t cmask)
    修改當前進程環境的權限掩碼為 cmask:八進制值
    返回修改之前的掩碼。

  13. stat結構體與stat函數、stat命令的聯系、各自的功能。
    Stat:描述文件其他屬性。
    int stat(const char *path, struct stat *buf) 獲取指定文件文件的屬性信息,并填充到buf。

  14. 如何根據stat結構體獲得文件的類型、權限等信息?
    先創建一個struct stat結構體,然后使用stat()函數,通過路徑,傳到stat結構體中。

  15. 文件描述符與文件指針的區別,各自的應用環境
    文件描述符(File Descriptor):是一個代表打開文件的整數,由操作系統分配。它用于在系統調用中引用文件。
    文件指針(File Pointer):是一個指向文件當前讀取或寫入位置的指針。它由程序內部維護,用于順序訪問。

  16. open、close、read、write要非常熟悉。讀文件、讀鍵盤、輸出到屏幕、輸出到文件操作要熟悉。
    open(path,flags):從path按照flags模式打開文件
    close()
    read(fd, buf, count):從fd中讀取count字節到buf
    write():寫入buf

  17. open文件時如果采用O_NONBLOCK方式,則后續的效果是怎么樣的?
    非阻塞:如果打開不成功,立即返回

  18. open文件時,O_TRUNC、O_WRONLY是什么方式?
    清空、只讀

  19. 如何利用C語言實現文件的復制?如何編寫屬于自己的命令程序,mycp ?
    ? 先用open打開兩個文件給予相應權限,一個read循環,在這個循環中進行write
    ? 將可執行文件添加到$PATH后面
    ?

  20. opendir、readdir、closedir是用來做什么的?
    打開目錄
    經常使用opendir獲得一個目錄,然后使用readdir進行while循環,其間使用structdirent* entry 進行讀取名稱,如果想獲得其他屬性,需要使用struct stat file_stat進行讀取(一定不是指針),最后使用closedir

  21. 如何將指定目錄下的文件或目錄的詳細信息(名稱、類型、大小、修改時間等)列舉出來?
    同11
    第6章

  22. 進程的基本概念
    進程是運行的程序,是動態的,是操作系統分配和調度資源的基本單位

  23. 如何獲得進程的PID、PPID?
    Getpid()
    Getppid()
    unistd.h

  24. 熟練掌握fork函數的用法
    =0為子進程,>0為父進程,<0為出錯

  25. 父子進程如何交替執行?
    Wait()、sleep()

  26. 什么是僵尸進程、什么是孤兒進程,由誰來回收?
    僵尸進程:一個進程已經終止,但是父進程未對其PCB進行釋放
    孤兒進程:使用fork創建的子進程,父進程先于子進程銷毀,由init/systemd回收

  27. sleep函數的作用?
    掛起進程,秒

  28. 如何避免僵尸進程,wait函數、waitpid函數的多種用法
    避免:在父進程中使用 wait() 或 waitpid() 函數來回收子進程的狀態信息。

  29. 如何產生多個進程,而不發生僵尸進程,進程號之間彼此有什么關聯?
    For循環產生,但是每個父進程都使用wait()等待子進程。
    子進程的ps中可以找到父進程pid

  30. WIFEXITED、WEXITSTATUS兩個宏是用來做什么的?
    1->是否正常退出
    2->正常退出的返回值

  31. 什么是SIGCHILD信號,有什么作用?
    SIGCHILD 信號是當一個子進程結束時,操作系統發送給父進程的信號。

  32. 父進程如何給其子進程發送信號,通過什么函數?kill函數與raise函數的區別是什么?
    通過kill。
    ? 區別:
    ? Kill可以發給任何程序,只要權限夠
    ? Raise信號發給自己

  33. 守護進程的特點是什么?如何產生一個守護進程?產生守護進程的每個步驟的作用分別是什么?
    ? 特點:
    ? 長期運行在后臺
    ? 周期性執行任務
    ? 產生 & 作用:
    ? 創建子進程,終止父進程:子進程就是守護進程
    ? 在子進程中創建新會話:確保守護進程不附屬于任何會話,不擁有終端
    ? 改變到安全的工作目錄:防止目錄被刪除
    ? 重設工作掩碼:確保守護進程創建的文件有合適的權限
    ? 關閉文件描述符:防止守護進程對終端的輸出,以及避免文件描述符泄露,確保守護進程不會對用戶的文件系統造成影響。

  34. 什么是進程組、什么是會話組?
    會話是一組進程的高級集合,會話中的進程共享一個會話 ID(SID)。

  35. 守護進程是孤兒進程嗎?
    不是
    ? 守護進程不會被回收
    ? 也有父進程(init進程)

  36. 如何編寫簡單的守護進程?例如周期性地向指定文件中寫入當前的最新時間、如何監督檢查指定文件是否被修改過?

  37. system函數與exec函數族的使用方法,區別

  38. exec函數族中execl、execv在使用時,參數方面有何區別?

? exec函數族格式
? char *const ps_argv[] ={“ps”, “-o”, “pid,ppid,pgrp,session,tpgid,comm”, NULL};
? char *const ps_envp[] ={“PATH=/bin:/usr/bin”, “TERM=console”, NULL};
? execl(“/bin/ps”, “ps”, “-o”, “pid,ppid,pgrp,session,tpgid,comm”, NULL);
? execv(“/bin/ps”, ps_argv);
? execle(“/bin/ps”, “ps”, “-o”, “pid,ppid,pgrp,session,tpgid,comm”, NULL, ps_envp)
? execve(“/bin/ps”, ps_argv, ps_envp);
? execlp(“ps”, “ps”, “-o”, “pid,ppid,pgrp,session,tpgid,comm”, NULL);
? execvp(“ps”, ps_argv);

第7章

  1. 進程間通信的幾種方式是什么?
    管道、System V IPC和套接字

  2. 用戶進程對于信號響應的方式有哪些?如何編程實現?

  3. alarm函數
    int alarm(int second)
    設定一個定時器,在指定秒數后向進程自身發送一個SIGALRM信號,該信號默認處理是終止當前進程。

  4. signal函數的用法
    先定義signal_handler,進行信號處理;再使用signal(發生信號,處理函數)進行注冊,然后使用。

  5. 當前進程如何在收到某一特定的信號(例如SIGINT)后,不執行默認的操作,轉而執行自定義的操作?
    自定義操作函數,傳入signal 的第二個參數

  6. SIGKILL與SIGSTOP的特殊性在哪里?SIGINT、SIGQUIT、SIGTERM的共同點是什么?
    SIGKILL 的特殊性
    ? 不可捕捉:SIGKILL(信號編號 9)是一個強制殺死進程的信號,進程不能捕捉或忽略它。
    ? 立即終止:接收到 SIGKILL 的進程將立即終止,不會執行任何清理操作。
    ? 系統使用:通常由操作系統或 root 用戶用來終止那些不響應其他信號的進程。
    SIGSTOP 的特殊性
    ? 不可忽略:SIGSTOP(信號編號 19)用于暫停進程的執行,進程不能捕捉或忽略它。
    ? 停止進程:進程接收到 SIGSTOP 后將停止運行,直到接收到 SIGCONT 信號恢復執行。
    ? 單向通信:SIGSTOP 只能由發送者控制,接收進程無法控制何時恢復。
    SIGINT、SIGQUIT、SIGTERM 的共同點
    ? 可捕捉:這些信號都可以被進程捕捉,進程可以定義自己的信號處理函數來響應這些信號。
    ? 終止進程:它們的默認行為都是終止進程,但允許進程通過捕捉信號來執行清理操作。
    ? 用戶生成:這些信號通常由用戶生成,例如 SIGINT 可以通過 Ctrl+C 生成,SIGQUIT 可以通過 Ctrl+\ 生成。
    ? 默認行為:它們的默認行為是終止進程,但進程可以通過捕捉信號并執行特定的清理操作來改變這一行為。
    SIGINT
    ? 中斷信號:通常與 Ctrl+C 關聯,用于請求進程終止。
    SIGQUIT
    ? 退出信號:通常與 Ctrl+\ 關聯,用于請求進程終止并生成核心轉儲(core dump),用于調試。
    SIGTERM
    ? 終止信號:是一個通用的終止信號,用于請求進程正常終止并執行清理操作。

  7. 什么是管道?什么是匿名管道、什么是命名管道,各自的應用場景是什么?
    ? 管道是Unix最早支持的IPC形式。
    ? 匿名管道:只能在親緣進程之間通信
    ? 命名管道:借助于外存解除普通管道只能在同源進程使用的限制

  8. 如何利用pipe系統調用實現父子進程的管道通信?
    ? 父進程關閉讀端,fd[0],使用write向fd[1]中寫
    ? 子進程關閉寫端,fd[1],使用read從fd[0]讀

  9. 如何利用匿名管道讓父進程寫文件、子進程讀文件?如何使用dup2函數讓操作變得更簡單?
    ? 父進程關閉讀端,fd[0],利用dup2(fd[0], 0)將管道寫端和標準輸出流連接
    ? 子進程關閉寫端,fd[1],利用dup2(fd[1], 1)將管道讀端和標準輸入流連接

  10. 命名管道文件的類型是以什么開頭的?
    /dev/

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/19939.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/19939.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/19939.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Milvus向量數據庫:高效處理海量非結構化數據的利器

一、引言 隨著數據量的爆炸式增長&#xff0c;如何高效地存儲、管理和查詢海量非結構化數據成為數據科學和人工智能領域的一個重大挑戰。傳統的關系型數據庫在處理這種類型的數據時顯得力不從心&#xff0c;而向量數據庫作為一種新型的數據庫解決方案&#xff0c;提供了極大的…

PAT-1004 成績排名(java實現)

這一關感覺還沒第三關難&#xff0c;思路很清晰 題目 1004 成績排名 讀入 n&#xff08;>0&#xff09;名學生的姓名、學號、成績&#xff0c;分別輸出成績最高和成績最低學生的姓名和學號。 輸入格式&#xff1a; 每個測試輸入包含 1 個測試用例&#xff0c;格式為 第 1 行…

【算法】宵暗的妖怪

?題目鏈接&#xff1a; 宵暗的妖怪 ?題目描述 露米婭作為宵暗的妖怪&#xff0c;非常喜歡吞噬黑暗。這天&#xff0c;她來到了一條路上&#xff0c;準備吞噬這條路上的黑暗。這條道路一共被分為n 部分&#xff0c;每個部分上的黑暗數量為ai 。露米婭每次可以任取 連續的 未被…

賺錢其實沒有秘密,多琢磨一下不丟人

為什么學了很多知識還是掙不到錢&#xff1f; 掙不到錢&#xff0c;是因為你不夠稀缺&#xff1b;掙錢太少&#xff0c;是因為你不懂杠桿&#xff0c;用杠桿撬動稀缺&#xff0c;個人價值自然水漲船高。 學富五車&#xff0c;為何財庫依舊空空&#xff1f;怎樣才能提高掙錢的…

在全志H616核桃派開發板上配置SSH遠程終端方法詳解

熟悉指令用戶可以對已經聯網的核桃派進行局域網SSH遠程終端控制&#xff0c;方便使用自己的PC對核桃派遠程進行各種指令操作。 普通用戶&#xff08;默認&#xff09; 賬號&#xff1a;pi ; 密碼&#xff1a;pi管理員賬戶 賬號&#xff1a;root ; 密碼&#xff1a;root 在這之…

在Android Studio中使用谷歌Gemini代碼助手

今天在做android開發的時候&#xff0c;一個項目使用到了gradle8.0&#xff0c;但是我的Android Studuio根本不支持&#xff0c;無可奈何只能從小蜜蜂版本升級了水母 | 2023.3.1版本&#xff0c;但突然發現AS已經集成了Gemini助手。 首先我們需要下載這個版本的&#xff1a; h…

2.5Bump Mapping 凹凸映射

一、Bump Mapping 介紹 我們想要在屏幕上繪制物體的細節&#xff0c;從尺度上講&#xff0c;一個物體的細節分為&#xff1a;宏觀、中觀、微觀宏觀尺度中其特征會覆蓋多個像素&#xff0c;中觀尺度只覆蓋幾個像素&#xff0c;微觀尺度的特征就會小于一個像素宏觀尺度是由頂點或…

JDBC常見異常(10)—預編譯模式下占位符動態排序字段失效

場景需求 需要根據不同的列進行對應的排序操作&#xff0c;實現動態列名排序 類似&#x1f41f;動態查詢或更新 但是JDBC預編譯模式下占位符的排序字段失效 SQL語句 分頁查詢 select * from (select t.*, rownum rn from(select * from emp order by empno desc) t where …

《java數據結構》--一篇解決二叉搜索樹!!

&#x1f638;二叉搜索樹的概念 二叉搜索樹又名二叉排序樹&#xff0c;一般具有以下性質&#xff1a; 若它的左子樹不為空&#xff0c;則左子樹上所有節點的值都小于根節點的值若它的右子樹不為空&#xff0c;則右子樹上所有節點的值都大于根節點的值它的左右子樹也分別為二叉…

C語言高級編程及實例剖析.pdf

C語言高級編程及實例剖析.pdf C語言&#xff0c;作為一種經典且強大的編程語言&#xff0c;已經在多個領域得到廣泛應用。然而&#xff0c;要想真正掌握C語言的高級編程技巧&#xff0c;卻并非易事。本文將深入探討C語言的高級編程技巧&#xff0c;并結合實例進行詳細剖析&…

61. UE5 RPG 實現敵人近戰攻擊技能和轉向攻擊

在前面&#xff0c;我們實現了敵人的AI系統&#xff0c;敵人可以根據自身的職業進行匹配對應的攻擊方式。比如近戰戰士會靠近目標后進行攻擊然后躲避目標的攻擊接著進行攻擊。我們實現了敵人的AI行為&#xff0c;但是現在還沒有實現需要釋放的技能&#xff0c;接下來&#xff0…

HTML5 音頻 Audio 標簽詳解

HTML5 引入了 <audio> 標簽&#xff0c;允許開發者在網頁中直接嵌入音頻文件&#xff0c;而不需要依賴第三方插件。本文將全面介紹 <audio> 標簽的各種屬性&#xff0c;并通過實例代碼詳細說明其用法。 一、基礎用法 1. 基本結構 HTML5 中使用 <audio> 標…

通過定時器和脈沖控制LED

目錄 一、定時器 &#xff08;一&#xff09;定時器簡介 &#xff08;二&#xff09;定時器類型 1、常見定時器 2、定時器的主要功能 3、常規定時器 &#xff08;三&#xff09;定時器配置 1、定時器標準外設庫接口函數 2、定時器標準外設庫配置 二、PWM &#xff08…

匿名函數(lambda)

自學python如何成為大佬(目錄):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 匿名函數是指沒有名字的函數&#xff0c;應用在需要一個函數&#xff0c;但是又不想費神去命名這個函數的場合。通常情況下&#xff0c;這樣的函數只…

【Qt】Qt界面美化指南:深入理解QSS樣式表的應用與實踐

文章目錄 前言&#xff1a;1. 背景介紹2. 基本語法3. QSS 設置方式3.1. 設置全局樣式3.2. 從文件加載樣式表3.3. 使用 Qt Designer 編輯樣式 總結&#xff1a; 前言&#xff1a; 在當今這個視覺至上的時代&#xff0c;用戶界面&#xff08;UI&#xff09;的設計對于任何軟件產…

智能制造案例專題|與MongoDB一起解鎖工業4.0轉型與增長的無限潛力!

MongoDB 智能制造 數字化技術的洪流在各個產業鏈的主干和枝節涌現。在工業制造領域&#xff0c;能否通過數字化技術實現各生產要素、生產環節之間的緊密配合&#xff0c;高效規劃、管理整個生產流程&#xff0c;是企業提升韌性、贏得競爭的關鍵。隨著工業4.0的深入發展和智能…

高級Java開發者的自我修養:深入剖析JVM垃圾回收機制及面試要點

在探索Java虛擬機&#xff08;JVM&#xff09;的奧秘過程中&#xff0c;垃圾回收機制&#xff08;GC&#xff09;是一個不可或缺的話題&#xff0c;尤其在面對大型應用和系統優化時顯得尤為重要。JVM的自動內存管理是Java編程語言中一項革命性的特性&#xff0c;它大大簡化了程…

測試記錄2:Ubuntu工程直接添加使用Eigen3源文件

直接將Eigen3源文件放入到工程目錄下使用&#xff0c;免安裝 1.新建空文件夾Test_eigen 2.創建將eigen下載的文件夾解壓&#xff0c;重命名為eigen3放入到Test_eigen 3.進入Test_eigen&#xff0c;創建main.cpp #include <iostream> #include <Eigen/Eigen>int m…

AI盒子在智慧加油站的應用

方案背景 為規范加油站作業&#xff0c;保障人民生命財產安全&#xff0c;《加油站作業安全規范》&#xff08;AQ 3010-2007&#xff09;中第五條規定&#xff1a;卸油作業基本要求&#xff0c;明確防靜電、防雷電、防火、人員值守、禁止其他車輛及非工作人員進入卸油區。 痛點…

數據結構基礎篇(4)

十六.循環鏈表 概念 循環鏈表是一種頭尾相接的鏈表&#xff08;最后一個結點的指針域指向頭結點&#xff0c;整個鏈表形成一個環&#xff09;優點 從表任一結點出發均可找到表中其他結點判斷終止 由于循環鏈表中沒有NULL指針&#xff0c;所以涉及遍歷操作時&#xff0c;終止條…