C 語言雛啟:擘畫代碼乾坤,諦觀編程奧宇之初瞰

在這里插入圖片描述

大家好啊,我是小象?(?òωó?)?
我的博客:Xiao Xiangζ?????

很高興見到大家,希望能夠和大家一起交流學習,共同進步。*
在這里插入圖片描述

這一課主要是讓大家初步了解C語言,了解我們的開發環境,main函數,庫函數,關鍵字,字符和字符串等內容的介紹,后面會一一講解

文章目錄

  • 一. C語言是什么
        • 1.1 C語言的歷史
  • 二. 開發環境
        • 編譯型語言和解釋型語言
        • 2.1 編譯和鏈接
        • 2.2 編譯器的選擇
            • 2.2.1 VS項目和源文件、頭文件介紹
            • 2.2.2在VS創建項目
  • 三、第一個C語言程序
  • 四、main函數
  • 五、printf和庫函數
        • 5.1什么是庫函數呢
  • 六、關鍵字介紹
  • 七、字符和ASCII編碼
  • 八、字符串和\0
  • 九、轉義字符
  • 十、語句和語句分類
      • 10.1 空語句
      • 10.2 表達式語句
      • 10.3 函數調用語句
      • 10.4 復合語句
      • 10.5 控制語句
  • 十一、注釋
      • 11.1注釋的兩種形式
        • 11.1.1/**/形式
        • 11.1.2//形式
      • 11.2 注釋會被替換
  • 十二、結尾

一. C語言是什么

我們都知道,人和人交流使用的都是自然語言,而對于計算機來說,CPU唯一認識的語言是機器語言,也就是計算機語言。
計算機能識別的是二進制指令,目前已知已經有上千種計算機語言,人們是通過計算機語言寫的程序,給計算機下達指令,讓計算機工作的。
其中,C語言就是眾多計算機語言中的?種,當然C++/Java/Go/Python都是計算機語言。

1.1 C語言的歷史

既然要學C語言,我們就要知道C語言是怎么來的.
其實,C語言最初是作為Unix系統的開發工具而發明的。

我們在鏈接:https://www.tiobe.com/tiobe-index/也能看到C語言是很受歡迎的語言
在這里插入圖片描述

二. 開發環境

編譯型語言和解釋型語言

對于 CPU 而言,編譯型語言 是將源代碼先通過編譯器編譯為 CPU 認識的機器碼(可執行文件),此后 CPU 隨時都可以直接執行編譯后的機器碼;而解釋型語言則不直接編譯成機器碼,而是將源碼轉換成中間代碼,然后發送給解釋器,由解釋器逐句翻譯給 CPU 來執行。

2.1 編譯和鏈接

我們要知道,C語言是一門編譯型計算機語言,而實際上C語言源代碼都是文本文件,文本文件本身是無法執行的,必須通過編譯器翻譯和鏈接器的鏈接,然后生成二進制的可執行文件,最終才能夠執行。
所以我們知道了,要得到最終運行的可執行程序,中間必須要經過編譯鏈接兩個過程

?個工程一般都會有多個源文件組成
C語言代碼是放在 .c 為后綴的文件中的
注:
1. 每個源文件(.c)單獨經過編譯器處理生成對應的目標文件(.obj為后綴的文件)
2. 多個目標文件和庫文件經過鏈接器處理生成對應的可執行程序(.exe文件)

注意:在 Linux 系統上用 C 語言編譯的可執行程序,不能在 Windows系統上執行,因為可執行文件在執行之前,操作系統要有一些準備工作,因為不同的操作系統,準備工作是不同的,所以可執行文件的格式不完全相同。比Windows 上大部分可執行文件為 PE 格式,而 Linux 上大部分可執行文件為 ELF格式。格式不同導致了不同的可執行文件無法跨平臺直接使用

2.2 編譯器的選擇

C語言是一門編譯型的計算機語言,需要依賴編譯器將計算機語言轉換成機器能夠執行的機器指令

那我們常見的C語言編譯器都有哪些呢?
比如:msvc、clang、gcc 就是?些常見的編譯器,當然也有?些集成開發環境 如:VS2022、XCode、CodeBlocks、DevC++、Clion 等。

集成開發環境(IDE)用于提供程序開發環境的應用程序,一般包括代碼編輯器、 編譯器 、 調試器和圖形用戶界面等工具。
集成了代碼編寫功能、分析功能、編譯功能、調試功能等?體化的開發軟件服務套。(集成開發環境不能直接稱作編譯器,集成開發環境中集成了編譯器)

我們最常見到的編譯器一般是VS2022DevC++,而我比較推薦初學者使用VS2022,因為它上手容易,默認界面為中文,對新手友好,可以等到后面再熟悉DevC++

2.2.1 VS項目和源文件、頭文件介紹

在VS上寫代碼,我們是需要創建項目的,直接新建項目就可以了。
在項目中就可以添加源文件和頭文件。
C語言把 .c 為后綴的文件稱為源文件,把 .h 為后綴的文件稱為頭文件,h的意思是header的意思。

2.2.2在VS創建項目

在這里插入圖片描述

首先創建新項目

在這里插入圖片描述

選擇空項目,接著下一步

在這里插入圖片描述

項目名稱不能寫中文,也不要有特殊字符 項目可以放在你想放的地方,但路徑上最好不要有中文,也不要有特殊字符

在這里插入圖片描述

創建好之后,首先打開解決方案資源管理器(一般是默認有打開的,如果有打開的話就不用管)

在這里插入圖片描述

創建項目后,右擊源文件————添加————新建項

在這里插入圖片描述

選擇第一個,接著把cpp后綴改成c,然后添加

在這里插入圖片描述

如果點進去是這種界面最好打開顯示所有模板(至于為啥后面的學習會講到)

在這里插入圖片描述

這樣就創建好啦!后面會寫一篇關于VS的快捷鍵和調試技巧,方便大家更好的使用VS

三、第一個C語言程序

這里演示VS2022中創建項目和編寫C代碼的過程,并運行出結果。
在VS2022上運行代碼的快捷鍵:Ctrl+f5

四、main函數

每個 C 語言程序不管有多少行代碼,都是從 main 函數開始執行的

main 函數是程序的入口

main 函數也被叫做:主函數
main 前面的 int 表示 main 函數執行結束的時候返回?個整型類型的值。所以在 main 函數的最后寫 return 0; 正好前后呼應。

總結一下:
? main函數是程序的入口
? main函數有且僅有一個
? 即使一個項目中有多個.c文件,但是只能有一個main函數(因為程序的入口只能有?個)

第一次寫代碼,一些常見的錯誤總結:
? main 被寫成了mian
? main后邊的()漏掉了
? 代碼中不能使用中文符號,比如括號和分號
? 一條語句結束后,有分號

五、printf和庫函數

在上面的代碼中有?句代碼如下:
代碼中使用了 printf 函數,實現了在屏幕上的信息的打印
這里簡單的介紹?下 printf , printf 是?個庫函數,它的功能是在標準輸出設備(?般指屏幕)上進行信息的打印。上面的代碼是使用 printf 函數打印字符串。只要把想要打印的一串字符放在雙引號中并傳遞給printf函數就可以打印。
printf函數也可以用來打印其他類型的數據,比如:

int n = 100;
printf("%d\n", n); //printf打印整型
printf("%c\n", 'q'); //printf打印字符
printf("%lf\n", 3.14); //printf打印雙精度浮點型

這里的 %d , %c 等是占位符,會被后邊的值替換。(后期會有講解)
同時我們在使用庫函數的時候,是需要包含頭文件的,比如: printf 函數需要包含的就是stdio.h 這個頭文件,具體的方法就是:

#include <stdio.h>
5.1什么是庫函數呢

由來稍微了解就行,需要記的是后面用到的采用庫函數,慢慢積累即可
那什么是庫函數呢?
為了提升開發效率,也為了不再重復實現常見的代碼,于是C語言標準規定了?組函數,這些函數再由不同的編譯器廠商根據標準進行實現,提供給程序員使用。這些函數組成了一個函數庫,被稱為標準庫(后面學習函數時會講到),這些函數也被稱為庫函數。在這個基礎上一些編譯器廠商可能會額外擴展提供部分函數(這些函數其他編譯器不一定支持)。
?個系列的庫函數一般會聲明在同一個頭文件中,所以庫函數的使用,要包含對應的頭文件。
庫函數比較多,后期慢慢來介紹,提前了解可參考鏈接:https://cplusplus.com/reference/clibrary/

六、關鍵字介紹

C語言中有一批保留的名字的符號,比如: int 、 if 、 return ,這些符號被稱為保留字或者關鍵字

? 關鍵字都有特殊的意義,是保留給C語言使用的
? 程序員自己在創建標識符的時候是不能和關鍵字重復的
? 關鍵字也是不能自己創建的。

C語言的32個關鍵字如下:

auto break case char const continue default do double else enum 
extern
float for goto if int long register return short signed sizeofstatic
struct switch typedef union unsigned void volatile while

千萬不能一口氣背下來,千萬不能一口氣背下來,千萬不能一口氣背下來,后面學習到再理解記下即可
注:在C99標準中加入了 inline 、 restrict 、 _Bool 、 _Complex 、 _Imaginary 等關鍵字。
一些關鍵字大家可以去了解?下,不過使用最多的還是上面的32個關鍵字。
注:https://zh.cppreference.com/w/c/keyword(C語言關鍵字的全部介紹)
后期學習到會慢慢介紹這些常用的關鍵字的

七、字符和ASCII編碼

在鍵盤上可以敲出各種字符,如:a,q,@,#等,這些符號都被稱為字符,C語言中字符是用單引號括起來的,如:‘a’,‘b’,‘@’。
我們知道在計算機中所有的數據都是以二進制的形式存儲的,那這些字符在內存中分別以什么樣的二進制存儲的呢?如果我們每個人自己給這些字符中的每個字符編一個二進制序列,這個叫做編碼,為了了便大家相互通信,不造成混亂,后來美國國家標準學會(ANSI)出臺了?個標準 ASCII 編碼,C語言中的字符就遵循了 ASCII 編碼的方式。
在這里插入圖片描述

參考:https://zh.cppreference.com/w/cpp/language/ascii
我們不需要記住所有的ASCII碼表中的數字,使用時查看就可以,不過我們最好能掌握幾組特殊的數
據:

? 字符A-Z的ASCII碼值從65~90
? 字符a-z的ASCII碼值從97~122
? 對應的大小寫字符(a和A)的ASCII碼值的差值是32
? 數字字符0-9的ASCII碼值從48~57
? 換行 \n的ASCII值是:10
? 在這些字符中ASCII碼值從0~31 這32個字符是不可打印字符,無法打印在屏幕上觀察

八、字符串和\0

C語言中如何表示字符串呢?使用雙引號括起來的一串字符就被稱為字符串,如:“abcdef”,就是一個字符串。
字符串的打印格式可以使用%s來指定,也可以直接打印如下:
C語言字符串中一個特殊的知識,就是

字符串的末尾隱藏放著?個 \0 字符
\0 字符是字符串的結束標志

對于字符串"abcdef",我們實際上看到了6個字符:a,b,c,d,e,f,但是實際上在末尾還隱藏一個 \0 的轉義字符, \0 是字符串的結束標志。所以我們在使用庫函數 printf() 打印字符串或者strlen() 計算字符串長度的時候,遇到 \0 的時候就自動停止了。

C語言中也可以把?個字符串放在?個字符數組(數組后面會學到,現在稍微能夠了解\0的功能就行)中,我們在這里利用下面的代碼驗證?下 \0 的功能。

在這里插入圖片描述
我們可以看到, arr1 字符數組在打印的時候,打印了 a 、 b 、 c 后還打印了一些隨機值,這就是因為 arr1 在末尾的地方沒有 \0 字符作為結束標志,在打印的時候沒有停止。
但是 arr2 的打印就是完全正常的,就是因為 arr2 數組是使用字符串常量初始化的,數組中有 \0作為技術標志,打印可以正常停止。
如果我們在arr1數組中單獨放?個 ‘\0’ 字符會怎么樣呢?

在這里插入圖片描述
看到三次打印的結果是?樣的了,都是打印到 \0 的時候就停止了,那從上述的例子我們確實能夠觀察到 \0 的作用和重要性的。

九、轉義字符

也許在前面的代碼中你看到 \n , \0 會很疑惑是啥?其實在字符中有一組特殊的字符是轉義字符,轉義字符顧名思義:轉變原來的意思的字符
比如:我們有字符 n ,在字符串中打印的時候自然能打印出這個字符,如下:

#include <stdio.h>
int main()
{printf("abcndef");return 0;
}

運行結果
在這里插入圖片描述
如果我們修改?下代碼,在 n 的前面加上 \ ,變成如下代碼:

#include <stdio.h>
int main()
{printf("abc\ndef");return 0;
}

運行結果
在這里插入圖片描述
我們可以看到修改的前后代碼輸出的結果,截然不同的,那這是為什么呢?
這就是轉義字符的問題, \n 是一個轉義字符表示換行的意思,我們可以簡單的理解為 \ 讓 n 的意思
發生了轉變, n 本來是?個普通的字符,被 \ 轉義為換行的意思

C語言中像這樣的轉義字符還有一些,具體如下:
? ? :在書寫連續多個問號時使用,防止他們被解析成三字母詞,在新的編譯器上沒法驗證了。
?
’ :用于表示字符常量’
? " :用于表示?個字符串內部的雙引號
? \ :用于表示?個反斜杠,防止它被解釋為?個轉義序列符。
?
\a :警報,這會使得終端發出警報聲或出現閃爍,或者兩者同時發生。
? \b :退格鍵,光標回退一個字符,但不刪除字符。
? \f
:換頁符,光標移到下一頁。在現代系統上,這已經反映不出來了,行為改成類似于 \v 。
? \n :換行符。
? \r:回車符,光標移到同一行的開頭。
? \t :制表符,光標移到下一個水平制表位,通常是下?個4/8的倍數。
? \v:垂直分隔符,光標移到下?個垂直制表位,通常是下?行的同一列。

下面2種轉義字符可以理解為:字符的8進制或者16進制表示形式
? \ddd:d d d表示1~3個八進制的數字。 如: \130 表示字符X
? \xdd :d d表示2個十六進制數字。 如: \x30 表示字符0
\0 :null 字符,代表沒有內容, \0 就是 \ddd 這類轉義字符的?種,用于字符串的結束標志,其ASCII碼值是0.

代碼演示:

#include<stdio.h>
int main()
{printf("%c\n", '\''); //表示單引號printf("%s\n", "\""); //表示雙引號printf("c:\\test\\code\\test.c\n");//反斜杠printf("\a");//警報或閃爍printf("%c\n", '\130'); //130是8進制,轉換成10進制是88,以88作為ASCII碼值的字符是'X'printf("%c\n", '\x30'); //x30中的30是16進制,轉換成10進制是48,以48作為ASCII碼值的字符是'0return 0;
}

運行結果:
在這里插入圖片描述
這些ASCII碼值是可以自己寫代碼驗證的,大家也可以自己驗證。
關于轉義字符我們首先要了解,然后要能在字符串中識別出來。

十、語句和語句分類

C語言的代碼是由一條一條的語句構成的,C語言中的語句可為以下五類:

10.1 空語句

空語句是最簡單的,一個分號就是一條語句,是空語句。
代碼演示:

#include <stdio.h>
int main()
{;//空語句return 0;
}

空語句,一般出現的地方是:這里需要一條語句,但是這個語句不需要做任何事,就可以寫一個空語句。

10.2 表達式語句

表達式語句就是在表達式的后邊加上分號。如下所示:

#include <stdio.h>
int main()
{int a = 20;int b = 0;b = a + 5; //表達式語句return 0;
}

10.3 函數調用語句

函數調用的時候,也會加上分號,就是函數調用語句。

#include <stdio.h>
int Add(int x, int y)
{return x+y;
}
int main()
{printf("hehe\n");//函數調?語句int ret = Add(2, 3);//函數調?語句 return 0;
}

10.4 復合語句

復合語句其實就是前面講過的代碼塊,成對括號中的代碼就構成一個代碼塊,也被稱為復合語句。

 #include <stdio.h>
void print(int arr[], int sz) //函數的大括號中的代碼也構成復合語句
{int i = 0;for(i=0; i<sz; i++){printf("%d ", arr[i]);}
}
int main()
{int i = 0;int arr[10] = {0};for(i=0; i<10; i++) //for循環的循環體的大括號中的就是復合語句{arr[i] = 10-i;printf("%d\n", arr[i]);}return 0;
}

10.5 控制語句

控制語句用于控制程序的執行流程,以實現程序的各種結構方式(C語言支持三種結構:順序結構、選擇結構、循環結構),它們由特定的語句定義符組成,C語言有九種控制語句。
可分成以下三類:

  1. 條件判斷語句也叫分支語句:if語句switch語句
  2. 循環執行語句:do while語句while語句for語句
  3. 轉向語句:break語句go to語句continue語句return語句
    下一期會給大家??介紹控制語句。

十一、注釋

注釋是對代碼的說明,編譯器會忽略注釋,也就是說,注釋對實際代碼沒有影響
注釋是給程序員自己,或者其他程序員看的

好的注釋可以幫我們更好的理解代碼,但是也不要過度注釋,不要寫沒必要的注釋。

當然不寫注釋可能會讓后期閱讀代碼的人抓狂,哈哈哈

11.1注釋的兩種形式

11.1.1/**/形式

第一種方法是將注釋放在 // 之間,內部可以分行

/* 注釋 */
/*這是一行注釋
*/

這種注釋可以插在行內
注意:

/**/ 的這個注釋不支持嵌套注釋, /* 開始注釋后,遇到第?個 */ 就認為注釋結束了。

11.1.2//形式

第而種寫法是將注釋放在雙斜杠 // 后面,從雙斜杠到行尾都屬于注釋。這種注釋只能是單行可以放在行首,也可以放在一行語句的結尾。這是 C99 標準新增的語法。

不管是哪一種注釋,都不能放在雙引號里面。

雙引號里面的注釋符號,會成為字符串的一部分,解釋為普通符號,失去注釋作用。

printf("// hello /* world */ ");

上面示例中,雙引號里面的注釋符號,都會被視為普通字符,沒有注釋作用。

11.2 注釋會被替換

編譯時,注釋會被替換成一個空格,所以 min/* 這里是注釋*/Value 會變成 min Value ,而不是 minValue 。

十二、結尾

這一課的內容就到這里了,下節課開始正式學習C語言的數據類型和變量
如果內容有什么問題的話歡迎指正,有什么問題也可以問我!
在這里插入圖片描述

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

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

相關文章

VSCode下EIDE插件開發STM32

VSCode下STM32開發環境搭建 本STM32教程使用vscode的EIDE插件的開發環境&#xff0c;完全免費&#xff0c;有管理代碼文件的界面&#xff0c;不需要其它IDE。 視頻教程見本人的 VSCodeEIDE開發STM32 安裝EIDE插件 Embedded IDE 嵌入式IDE 這個插件可以幫我們管理代碼文件&am…

Linux內核編程(二十一)USB驅動開發

一、驅動類型 USB 驅動開發主要分為兩種&#xff1a;主機側的驅動程序和設備側的驅動程序。一般我們編寫的都是主機側的USB驅動程序。 主機側驅動程序用于控制插入到主機中的 USB 設備&#xff0c;而設備側驅動程序則負責控制 USB 設備如何與主機通信。由于設備側驅動程序通常與…

論文筆記-arXiv2025-A survey about Cold Start Recommendation

論文筆記-arXiv2025-Cold-Start Recommendation towards the Era of Large Language Models: A Comprehensive Survey and Roadmap 面向大語言模型&#xff08;LLMs&#xff09;時代的冷啟動推薦&#xff1a;全面調研與路線圖1.引言2.前言3.內容特征3.1數據不完整學習3.1.1魯棒…

C#使用WMI獲取控制面板中安裝的所有程序列表

C#使用WMI獲取控制面板中安裝的所有程序列表 WMI 全稱Windows Management Instrumentation,Windows Management Instrumentation是Windows中用于提供共同的界面和對象模式以便訪問有關操作系統、設備、應用程序和服務的管理信息。如果此服務被終止&#xff0c;多數基于 Windo…

風光并網對電網電能質量影響的matlab/simulink仿真建模

這個課題早在一幾年的時候比較熱門&#xff0c;之前作電科院配電網的一個項目中也有所涉及&#xff0c;我把其中一部分經典仿真模型思路分享給大家&#xff0c;電能質量影響這部分&#xff0c;我在模型中主要體現的就是不同容量的光伏、風電接入&#xff0c;對并網點的電壓影響…

Ubuntu 24.04 LTS linux 文件權限

Ubuntu 24.04 LTS 文件權限 讀權限 &#xff1a;允許查看文件的內容。寫權限 (w)&#xff1a;允許修改文件的內容。執行權限 (x)&#xff1a;允許執行文件&#xff08;對于目錄來說&#xff0c;是進入目錄的權限&#xff09;。 文件權限通常與三類用戶相關聯&#xff1a; 文…

第13章:Python TDD完善貨幣加法運算(二)

寫在前面 這本書是我們老板推薦過的&#xff0c;我在《價值心法》的推薦書單里也看到了它。用了一段時間 Cursor 軟件后&#xff0c;我突然思考&#xff0c;對于測試開發工程師來說&#xff0c;什么才更有價值呢&#xff1f;如何讓 AI 工具更好地輔助自己寫代碼&#xff0c;或許…

.Net Core微服務入門全紀錄(六)——EventBus-事件總線

系列文章目錄 1、.Net Core微服務入門系列&#xff08;一&#xff09;——項目搭建 2、.Net Core微服務入門全紀錄&#xff08;二&#xff09;——Consul-服務注冊與發現&#xff08;上&#xff09; 3、.Net Core微服務入門全紀錄&#xff08;三&#xff09;——Consul-服務注…

C#防止重復提交

C#防止重復提交 文章目錄 C#防止重復提交前言防止重復提交的思路Web API 防止重復提交代碼實現代碼講解使用方法 MVC防止重復提交總結 前言 當用戶在前端進行提交數據時&#xff0c;如果網絡出現卡頓和前端沒有給出響應的話顧客通常都會狂點提交按鈕&#xff0c;這樣就很容易導…

python學opencv|讀取圖像(三十九 )閾值處理Otsu方法

【1】引言 前序學習了5種閾值處理方法&#xff0c;包括(反)閾值處理、(反)零值處理和截斷處理&#xff0c;還學習了一種自適應處理方法&#xff0c;相關文章鏈接為&#xff1a; python學opencv|讀取圖像&#xff08;三十三&#xff09;閾值處理-灰度圖像-CSDN博客 python學o…

嵌入式硬件篇---PID控制

文章目錄 前言第一部分&#xff1a;連續PID1.比例&#xff08;Proportional&#xff0c;P&#xff09;控制2.積分&#xff08;Integral&#xff0c;I&#xff09;控制3.微分&#xff08;Derivative&#xff0c;D&#xff09;控制4.PID的工作原理5..實質6.分析7.各種PID控制器P控…

日志收集Day001

1.ElasticSearch 作用&#xff1a;日志存儲和檢索 2.單點部署Elasticsearch與基礎配置 rpm -ivh elasticsearch-7.17.5-x86_64.rpm 查看配置文件yy /etc/elasticsearch/elasticsearch.yml&#xff08;這里yy做了別名&#xff0c;過濾掉空行和注釋行&#xff09; yy /etc/el…

集合帖:前綴和及差分模板題 ← 一維及二維

【一維前綴和及一維差分知識點】 ● 一維“前綴和數組”預處理過程&#xff1a;cin>>a[i], sum[i]sum[i-1]a[i] 或者 cin>>sum[i], sum[i]sum[i-1] &#xff08;1≤i≤n&#xff09; ● 一維“區間和”計算過程&#xff1a;sum[y]-sum[x-1] &#xff08;y…

《offer 來了:Java 面試核心知識點精講 -- 框架篇》(附資源)

繼上篇文章介紹了《offer 來了&#xff1a;Java 面試核心知識點精講 -- 原理篇》書后&#xff0c;本文章再給大家推薦兄弟篇 《offer來了&#xff1a;Java面試核心知識點精講--框架篇》&#xff0c; 簡直就是為Java開發者量身定制的面試神器。 本書是對Java程序員面試中常見的…

Low-Level 大一統:如何使用Diffusion Models完成視頻超分、去雨、去霧、降噪等所有Low-Level 任務?

Diffusion Models專欄文章匯總:入門與實戰 前言:視頻在傳輸過程中常常因為各種因素(如惡劣天氣、噪聲、壓縮和傳感器分辨率限制)而出現質量下降,這會嚴重影響計算機視覺任務(如目標檢測和視頻監控)的性能。現有的視頻修復方法雖然取得了一些進展,但通常只能針對特定的退…

Video-RAG:一種將視頻RAG新框架

1. 摘要及主要貢獻點 摘要&#xff1a; 檢索增強生成&#xff08;RAG&#xff09;是一種強大的策略&#xff0c;通過檢索與查詢相關的外部知識并將其整合到生成過程中&#xff0c;以解決基礎模型生成事實性錯誤輸出的問題。然而&#xff0c;現有的RAG方法主要集中于文本信息&…

Docker Load后存儲的鏡像及更改鏡像存儲目錄的方法

Docker Load后存儲的鏡像及更改鏡像存儲目錄的方法 Docker Load后存儲的鏡像更改鏡像存儲目錄的方法腳本說明注意事項Docker作為一種開源的應用容器引擎,已經廣泛應用于軟件開發、測試和生產環境中。通過Docker,開發者可以將應用打包成鏡像,輕松地進行分發和運行。而在某些場…

【零基礎入門unity游戲開發——unity通用篇37】鼠標指針(光標)修改隱藏鎖定(基于unity6開發介紹)

考慮到每個人基礎可能不一樣,且并不是所有人都有同時做2D、3D開發的需求,所以我把 【零基礎入門unity游戲開發】 分為成了C#篇、unity通用篇、unity3D篇、unity2D篇。 【C#篇】:主要講解C#的基礎語法,包括變量、數據類型、運算符、流程控制、面向對象等,適合沒有編程基礎的…

親測解決Latex File ended while scanning use of \@@BOOKMARK

這個問題只要刪除了.tex后綴文件外的其他同名文件&#xff0c;再次編譯即可。 環境 Win11 MikTex 問題原因 編譯的時候用了好幾種編譯器&#xff0c;然后編譯出現了錯誤。生成了不能使用的引用。 解決方法 刪除.tex后綴文件外的其他同名文件后&#xff0c;再次編譯。 筆…

Amazon MSK 開啟 Public 訪問 SASL 配置的方法

1. 開啟 MSK Public 1.1 配置 MSK 參數 進入 MSK 控制臺頁面&#xff0c;點擊左側菜單 Cluster configuration。選擇已有配置&#xff0c;或者創建新配置。在配置中添加參數 allow.everyone.if.no.acl.foundfalse修改集群配置&#xff0c;選擇到新添加的配置。 1.2 開啟 Pu…