主頁 > 後端開發 > C語言資源大全

C語言資源大全

2020-09-20 01:01:03 後端開發

 維護的一個 C 語言資源串列,包括了:構建系統、編譯器、資料庫、加密、初中高的教程/指南、書籍、庫等等。

構建系統
下面是一些 C 專案的自動化構建和測驗工具。
?aimake – 一個被設計來避免復雜配置的構建工具。GNU GPL3 或更高版本。
?Autoconf – 一個可擴展的 M4 宏指令包,提供命令列腳本來自動配置軟體原始碼包,是 Autotools 的一部分。GNU GPL3 或更高版本。
?Automake – 一個自動生成符合 GNU 代碼標準的 Makefile.in 檔案的工具。需要與 Autoconf 配合使用,它也是 Autotools 的一部分。GNU GPL3 或更高版本。
?Jam – 一個構建系統,它被設計的比make更加易用。隱式地理解 C 的構建規則。Jam License。
?Libtool – 一個通用庫支持腳本,是 Autotools 的一部分。GNU GPL3 或更高版本。
?Meson – 一個非常快,用戶友好的構建系統,基于 Ninja。Apache2.0.

編譯器
?Clang – 一個基于 LLVM 的 C 的編譯器,支持 C11 標準。NCSA.
?CompCert – 一個經過充分驗證的 C 編譯器。支持幾乎所有的 C89 標準。GNU GPL2.1 或更高版本。
?GCC – 在它的編譯器集合中提供了 C 編譯器。支持 C11 和 OpenMP 的標準。GNU GPL3 或更高版本。
?PCC – 一個值得尊敬的 C 編譯器,支持 C99 標準。Various licenses,完全免費。
?TCC – 一個迷你,速度快的 C 編譯器,支持 C99(除了復雜的型別)。 GNU LGPL2.1

加密
?GnuTLS – 一個安全通信庫,實作了 SSL,TLS 和 DTLS。GNU GPL2.1 或更高版本。
?libgcrypt – 一個通用的密碼庫,支持多種加密方法。 GNU LGPL2.1 (代碼),GNU GPL2.1 或更高版本(說明書和工具)。
?OpenSSL – 一個 SSL 和 TLS 協議的實作,還包括一個加密庫。Dual Licensed under the OpenSSL License and the SSLeay License。
?libsodium – 一個現代,易用的加密庫。Expat。
?libtomcrypt – 一個相當全面,模塊化和可移植的工具集。公開領域。
?mbed TLS – 一個 C 實作的加密庫。Apache2.0。

資料庫
下面列出了基于 C API 的資料庫和資料存盤
?BerkeleyDB – 一個高性能的嵌入式鍵值對資料庫。GNU AGPLv3。
?Hiredis – 一個極簡的 Redis 客戶端。3-clause BSD。
?LMDB – 一個極快,極簡的嵌入式鍵值對資料存盤系統。newOpenLDAP。
?MariaDB – 一個強壯,可擴展和可靠的 SQL 服務器,設計來作為 MySQL 的替代品。3-clause BSD。
?mongo-c-driver – 一個高性能的 MongoDB 客戶端。Apache2.0.
?PostgreSQL – 一個強大的物件關系資料庫系統。PostgreSQL licence。
?recutils – 一個工具和 C 庫的集合,用于訪問可編輯,純文本的名為 recfiles 的資料庫檔案。GNU GPL3 或更高版本。
?Redis – 一個先進的鍵值對存盤系統。3-clause BSD。
?sophia – 一個現代,可嵌入的鍵值對資料庫。FreeBSD。
?SQLite – 一個自包含,無服務器,零配置,支持事務的 SQL 資料庫引擎,包括 C 介面。公開領域。
?UnQLite – 一個自包含,無服務器,零配置,支持事務的 NoSQL 資料庫引擎,包括 C 介面。FreeBSD。

檔案生成
?Cxref – 生成 C 程式的檔案,支持 LaTeX,HTML, RTF 或者 SGML 的格式。GNU GPL2.1
?DocOnce – 一種樸素的標簽標記語言,可以用來生成多種格式的檔案。3-clause BSD.
?Doxygen – 一個事實上的標準工具,用于從注釋的代碼中生成 C 檔案。能夠生成多種格式的檔案。GNU GPL2.1。
?GTK-Doc – 一個從注釋的代碼中生成 C 檔案的工具,支持 Autotools GNU GPL2.1(代碼), GNU FDL1.1。

編輯器
這些是特別精致,IDE 型別的編輯器。如果你想要一個程式員的文本編輯器,看別的地方。此外,不管你選擇哪一款編輯器,它都支持 C。
?Anjuta DevStudio – GNOME IDE。 GNU GPL2.1。
?Code::Blocks – 一個可擴展,可配置的 IDE,支持 C。GNU GPL3。
?CodeLite – 一個跨平臺的 IDE。 GNU GPL2.1。
?Eclipse – 一個用java寫成的 IDE。 EPL。
?Geany – 一個很小很快的 IDE。 GNU GPL2.1及更高版本。
?KDevelop – KDE IDE. GNU GPL2.1。

環境
下面列出了被設計來引領 Windows 進入支持 C 的 21 世紀的技術。
?Cygwin – 被設計用于在 Windows 下模擬 POSIX 兼容環境。Various licenses, all free。
?MinGW-w64 – 一個 Windows 下極簡的 C 開發環境,支持 64 位。Various licenses, all free。

框架
這一節包括提供資料結構的大型庫和你所期待“現代”的標準庫。
?APR – Apache Portable Runtime;另一個跨平臺的實用函式庫。Apache2.0。
?C Algorithms – 一個常用演算法和資料結構的集合。
?CPL – The Common Pipeline Library;一系列詳盡,高效和強壯的軟體工具包。GNU GPL2.1。
?EFL – 一個大型實用資料結構和函式的的集合。多種許可證,完全免費。
?GLib – 一個便攜,高效和強大的實用函式和資料結構庫。GNU LGPL2.1。
?GIO – 一個現代和易用的 VFS API。[GNU LGPL2.1]。
?GObject – 一個 C 的面向物件系統和物件模型。GNU LGPL2.1。
?libnih – 一個輕量級的 C 函式和資料結構庫。GNU GPL2.1。
?libU – 一個提供基本實用函式的迷你庫,包括記憶體分配,字串處理和日志功能。
?PBL – 一個包括實用函式,特色資料結構等的大型庫。GNU LGPL2.1及更高版本(庫),GNU GPL2.1及更高版本(測驗代碼)。
?qlibc – 一個簡單且強大的 C 庫,當我們想要小且輕的庫時,可作為 Glib 的替代品。qLib license (類似于 FreeBSD).
?stb – 一系列單檔案 C 庫。公共領域。

游戲編程

引擎
這些作為 C 游戲編程代碼的例子。
?Corange – 一個純 C 的游戲引擎。FreeBSD。
?Darkplaces – 一個 Quake2 引擎的修改版本。GNU GPL2.1。
?ioquake3 – Quake3 引擎,終于免費啦。GNU GPL2.1。
?Orx – 一個便攜,輕量級,插件化,資料驅動,面向 2D 的游戲引擎。zlib。
?Quake2 – Quake2 引擎。GNU GPL2.1。
?Spearmint – 一個為 FPS 游戲設計的引擎。GNU GPL3及更高版本。

資源

這些是排序過的對游戲編程有用的庫。
?Allegro – 一個跨平臺,視頻游戲開發和多媒體庫。zlib。
?Chipmunk2D – 一個快且輕量級的 2D 游戲物理庫。Expat。
?CSFML – 一個用 C 封裝的 SFML。zlib。
?FreeGLUT – 一個替代性的 OpenGL 實用工具包。允許用 OpenGL 背景關系創建和管理視窗。X11。
?GLFW – 一個使用 OpenGL 背景關系創建視窗的多平臺庫。zlib。
?libao – 一個有多種輸出的跨平臺音頻庫。GNU GPL2.1及更高版本。
?RetroArch – libretro 的參考前端。GNU GPL3。
?SDL – 一個跨平臺庫,通過 OpenGL 提供音頻,鍵盤,滑鼠,操縱桿和圖形硬體的底層訪問。zlib。
?SDL2- 一個跨平臺庫,通過 OpenGL 提供音頻,鍵盤,滑鼠,操縱桿和圖形硬體的底層訪問。這是最新版本。zlib。

通用編程
?klib – 小且輕量級的常用演算法和資料結構實作。Expat。

影像
?Cairo – 一個 2D 影像庫。GNU LGPL2.1 或者 MPLv1.1。
?Cogl – 一個 GPU 影像和實用 API。Expat(依賴使用 3-clause BSD 許可,庫使用 LGPLv2.1 許可)。
?Clutter – 一個基于 OpenGL 的 UI 庫。GNU LGPL2.1。
?heman – 一個迷你影像實用工具庫,處理高度圖,法線圖,距離場等。Expat。
?libcaca – 一個基于終端介面的 ASCII 渲染器。WTFPLv2。
?libimagequant – 小且輕量級的庫,用于高質量的從 RGBA 影像到 8 位像素圖的轉換。FreeBSD。
?libjpeg-turbo – 一個更快的讀寫 JPEG 檔案庫。Various licences。
?libpng – 官方 PNG 參考庫。libpng license。
?libxmi – 一個光柵化 2D 位圖的函式庫。GNU GPL3 或更高版本。
?mozjpeg – 一個提升 JPEG 影像質量的編碼器。3-clause BSD。
?OpenGL – 一個高性能影像的工業標準,提供了原生 C語言 系結。Various licenses。

影像用戶介面

這些具體來說就是控制元件工具包
?GTK+ – 一個跨平臺的控制元件工具包。GNU LGPL2.1。
?IUP – 另一個跨平臺的控制元件工具包。Expat。
?Tk – 一個基本控制元件工具包,Tcl/Tk 的一部分。Tcl/Tk License。
?XForms Toolkit – 一個為 XWindow 設計的控制元件工具包。GNU LGPL2.1。

JSON
?Jansson – 一個編碼,解碼和處理 JSON 的 C 庫。Expat。
?jsmn – 一個極簡的 JSON 決議器。Expat。
?json-c – 一個處理 JSON 的庫。Expat。
?WJElement – 高級 JSON 處理庫,支持 JSON Schema。任意版本的 LGPL。
?YAJL – 一個很快的 JSON 流決議 C 庫。ISC。

學習,參考和指南

下面列出了學習 C 編程的資源,或者跟 C 編程相關的有用的東西。

在線

參考
?SEI CERT C 編碼標準
?C FAQ – comp.lang.c 常見問題
?GNU/Linux 下 C/POSIX 標準庫實作的比較
?C11 標準草案
?GNU C 參考手冊
?Robert Pike 的 C 筆記

初級
?指標教程
?C 語言指標 5 分鐘教程
?C 語言記憶體地址基礎
?C 語言函式指標基礎
?C 語言指標和陣列基礎
?構建 C 專案
?C 編程百科全書
?“有趣”的 C 介紹
?用 GDB 學習 C
?POSIX 執行緒編程指南 (有點過時,但大部分還是有效和有用的)
?GNU C 編程指南 (在線 PDF)
?C 語言中的模板

中級
?8 個你應該知道的 GDB 技巧
?10 個 C99 技巧
?深入并發:嘗試互斥鎖和原子操作
?OpenMP 介紹 (視頻)
?OpenMP 指南 (針對 OpenMP3 標準)
?memcpy 與 memmove 的比較
?MPI 指南
?C 語言中一些未知特性或者技巧
?失落的C語言結構體封裝藝術
?C 程式員需要了解的記憶體知識
?每個 C 程式員需要知道的未定義行為知識

高級
?C 中的高級元編程
?一個快速教程:如何實作和除錯 malloc,free,calloc,和 realloc
?位操作技巧
?我不懂 C
?在 C 語言中實作智能指標
?C 中的行內函式
?C 中的自定義控制結構元編程
?用 C 的宏解決臨時記憶體問題
?C 語言中一些不為人知的角落
?撰寫高效的 C 和 C 代碼優化

自學教程
?C 語言認證協會預備課程

物體書

參考資料
?C: A Reference Manual 5E – C99 完全參考手冊
?C Pocket Reference – C99 簡明參考手冊
?The C Programming Language 2E – 第一本 C 語言書籍,由 C 的創造者撰寫。

初級
?C Primer Plus 6E – 一個全面的 C11 編程指南。
?C Programming: A Modern Approach – 一本極好的學習 C 基礎的書。
?Head First C – 一本“深入淺出”風格的學習 C 的書籍。

中級
?21st Century C – 一本非常好的 C 語言書籍,可作為第二選擇。
?Understanding and Using C Pointers – 一本深入討論 C 指標的書。
?ZeroMQ – 一本介紹如何用 C 使用 ZeroMQ 的書。

高級
?Expert C Programming: Deep C Secrets – 一本從有趣,深度和娛樂的視角分析 C 內部結構的書籍。

多媒體
?FFMPEG – 一個完整,跨平臺的錄音,轉換和流化視頻以及音頻的解決方案。GNU LGPL2.1 或更高版本,部分是 GNU GPL2.1 或更高版本。
?GStreamer – 一個聲音和可視化媒體的框架。GNU LGPL2.1。
?lodepng – 一個簡單的 PNG 影像解碼器和編碼器,不需要其他依賴。3-clause BSD.

網路
?asnlc – 一個把 ASN.1 規范轉換為 C 代碼的編譯器。FreeBSD。
?czmq – 一個 ZeroMQ 的高級系結。
?GNU adns – 一個高級,易用,異步的 DNS 客戶端和實用工具。GNU GPL3 及更高版本。
?GNU SASL – 一個簡單身份認證和安全層和一些常見 SASL 機制的實作。GNU GPL3 及更高版本。
?GnuTLS – 一個安全通信庫,實作了 SSL,TLS 和 DTLS。GNU LGPL2.1 及更高版本。
?gumbo-parser – 一個 C99 標準的 HTML5 決議庫。Apache2.0。
?http-parser – 一個 HTTP 請求回應決議器。Expat。
?ldns – 一個簡化 DNS 編程的庫。3-clause BSD。
?libcurl – 一個客戶端的 URL 轉換庫,支持多種格式。curl license。
?LibEtPan – 一個郵件庫,支持 IMAP,SMTP,POP 和 NNTP 網路協議。3-clause BSD。
?libev – 一個事件驅動庫。FreeBSD.
?libevent – 一個在網路服務器中事件驅動庫的可替代品。3-clause BSD。
?libgss – 通用安全服務。GNU GPL3 或更高版本。
?libhttpd – 一個給應用或嵌入式設備添加基本 Web 服務器功能的庫。GNU GPL2。
?libidn – Stringprep,Punycode 和 IDNA 規范的實作。GNU GPL3 或更高版本。
?libmicrohttpd – 一個迷你庫,可作為其他應用的一部分,讓運行 HTTP 服務器變得簡單。GNU LGPL2.1 或更高版本。
?libsoup – 一個 GNOME HTTP 客戶端/服務器庫,使用了 GObject。GNU LGPL2.1。
?lwan – 一個實驗性,可擴展,高性能的 HTTP 服務器。 GNU GPL2.1。
?mongoose – 基于 C 的嵌入式 Web 服務器。GNU GPL2.1。
?nanomsg – 一個基于 C 的 ZeroMQ 實作。Expat。
?onion – 易于使用的 HTTP 服務器庫。Apache2.0。
?OpenSSL – 一個 SSL 和 TLS 協議的實作,還包括一個加密庫。Dual Licensed under the OpenSSL License and the SSLeay License。
?oSip – 一個基于 C 的 SIO 實作,沒有額外的依賴。GNU LGPLv2.1 或更高版本。
?s2n – 一個 C99 標準的 TLS/SSL 協議的實作,簡單,快并且以安全優先。Apache2.0。
?socket99 – BSD 套接字 API 的 C99 封裝。ISC。
?Tox – 一個通信平臺,被設計為 Skype 殺手。GNU GPL3。
?twitc – 一個與 Twitter OAuth API 互動的迷你 C 庫。Expat。

網路框架
?balde – 一個基于 GLib 的 C 微框架。 GNU LGPLv2.1。

數值計算
?apophenia – 一個用于統計和科學計算的庫。GNU GPL2.1。
?ATLAS – 自動調諧線性代數軟體。 3-clause BSD。
?BLAS – Basic Linear Algebra Subprograms;提供向量和矩陣操作的一系列操作。BLAS license。
?Cuba – 一個計算多維的數值積分的庫。 GNU LGPLv3。
?FFTW – The Fastest Fourier Transform in the West;一個高度優化的快速傅立葉變換例程。GNU GPL2.1 或更高版本。
?FLINT – Fast Library for Number Theory;一個支持算數,多項式,冪級數和矩陣等。GNU GPL2.1 或更高版本。
?GLPK – GNU Linear Programming Kit;一個求解大規模線性規劃,混合整數規劃和其他相關問題。GNU GPL3 或更高版本。
?GMP – GNU Multple Precision Arithmetic Library;一個支持任意精度計算的庫。雙重許可 GNU GPL2.1 和 GNU LGPLv3。
?GNU MPC – 一個支持復雜數字計算的庫。GNU LGPL3 或更高版本。
?GNU MPFR – 一個支持任意精度的浮點數計算庫。GNU LGPL3 或更高版本(大多數最近版本),GNU LGPL2.1 或更高版本(2.4.x 之前)。
?GNU MPRIA – 一個支持多精度合理區間運算的可擴展數學庫。GNU GPL3 或更高版本。
?GSL – The GNU Scientific Library;一個精確的數值計算庫。GNU GPL3。
?KISS FFT – 一個非常快的傅里葉變換庫。3-clause BSD。
?LAPACKE – 一個 LAPACK 的 C 介面。3-clause BSD。
?PARI/GP – 一個數論的計算機代數系統,包括 C 編譯器。GNU GPL2.1 或更高版本。
?PETSc – 一系列資料結構和例程,用于計算由偏微分方程建模的應用程式的可擴展并行解。FreeBSD。
?SLEPc – 一個在并行計算機中的解決大型,稀疏特征值問題的軟體庫。GNU LGPL3
?Yeppp! – 非常快,SIMD 優化的數學庫。 3-clause BSD。
?
并行編程
?cchan – 一個執行緒間通信通道構建的小型庫。公共領域。
?ck – 并發原語,安全記憶體回識訓制和非阻塞資料結構。FreeBSD。
?mill – 用 C 寫成的 Go 風格并發。X11
?MPICH – MPI 的另一種實作。MPICH licence。
?OpenMP – 一組 C 編譯指令,使其易于并行化代碼。標準(許可不適用)。
?OpenMPI – 一個訊息傳輸介面實作。3-clause BSD。
?PETSc – 一系列資料結構和例程,用于計算由偏微分方程建模的應用程式的可擴展并行解。FreeBSD。
?pth – 一個非搶占式優先級調度多執行緒執行的可擴展實作。GNU GPL3 或者更高版本。
?pthreads – POSIX 執行緒庫。標準(沒有適用的許可)。
?SLEPc – 一個在并行計算機中的解決大型,稀疏特征值問題的軟體庫。GNU LGPL3。
?TinyCThread – 一個可擴展,小型的 C11 標準執行緒 API 實作。zlib。

正則運算式


有些人遇到問題時就會想:“啊,我知道了,我可以使用正則運算式”。于是現在他們有了兩個問題。- Jamie Zawinski。
?PCRE – 與 Perl 5 正則運算式完全相同的實作。3-clause BSD。
?SLRE – Super Light Regular Expression library;一個 Perl 正則運算式語法子集的迷你實作。GNU GPL2.1。
?TRE – 一個與 POSIX 一致,充滿特色的正則運算式庫。FreeBSD。

序列化
?c-capnproto – 一個 Cap’n Proto 序列化協議的實作。 Expat。
?cmp – 一個 MessagePack 序列化協議的實作。 Expat。
?libavro – 一個 Avro 資料序列化系統的 C 實作。Apache2.0。
?mpack – 另一個 MessagePack 序列化協議的實作。Expat。
?protobuf-c – 一個 Google Protocol Buffer 的 C 實作。FreeBSD。
?xdr – External Data Representation;資料序列化標準。標準(沒有可用許可)。

原始碼集錦

下面包含了一些小型原始碼集合。如果你想要大型且成熟的,看《框架》那一節。
?CCAN – 模仿 Perl 的 CPAN,這是一個大的實用 C 代碼集合。完整的串列在 這里。多種許可(所有都是免費軟體)。
?clib – 一個 C 軟體包管理器,配備了一堆自己的庫。 Expat。
?gnulib – 通用 GNU 代碼的集合。多種許可證,全部免費。
?libdjb – 做各種事情的庫的集合。(顯然)公共領域。

標準庫
下面包括了標準 C 庫。
?Bionic – 谷歌為 Android 開發的 C 標準庫。3-clause BSD。
?dietlibc – 標準 C 庫,可能是最小的二進制檔案。GNU GPL2.1。
?glibc – GNU C 庫。一個 C 標準庫的實作。 GNU LGPL2.1。
?musl – 標準 C 庫,兼容 POSIX 2008 和 C11,為靜態鏈接設計。Expat。

因字數限制,還有一部分內容在下一篇帖子上發布,感興趣的朋友可以關注我的帖子!


轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/84627.html

標籤:基礎類

上一篇:0x0012d785 處未處理的例外: 0xC0000005:

下一篇:C語言資源大全

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 【C++】Microsoft C++、C 和匯編程式檔案

    ......

    uj5u.com 2020-09-10 00:57:23 more
  • 例外宣告

    相比于斷言適用于排除邏輯上不可能存在的狀態,例外通常是用于邏輯上可能發生的錯誤。 例外宣告 Item 1:當函式不可能拋出例外或不能接受拋出例外時,使用noexcept 理由 如果不打算拋出例外的話,程式就會認為無法處理這種錯誤,并且應當盡早終止,如此可以有效地阻止例外的傳播與擴散。 示例 //不可 ......

    uj5u.com 2020-09-10 00:57:27 more
  • Codeforces 1400E Clear the Multiset(貪心 + 分治)

    鏈接:https://codeforces.com/problemset/problem/1400/E 來源:Codeforces 思路:給你一個陣列,現在你可以進行兩種操作,操作1:將一段沒有 0 的區間進行減一的操作,操作2:將 i 位置上的元素歸零。最終問:將這個陣列的全部元素歸零后操作的最少 ......

    uj5u.com 2020-09-10 00:57:30 more
  • UVA11610 【Reverse Prime】

    本人看到此題沒有翻譯,就附帶了一個自己的翻譯版本 思考 這一題,它的第一個要求是找出所有 $7$ 位反向質數及其質因數的個數。 我們應該需要質數篩篩選1~$10^{7}$的所有數,這里就不慢慢介紹了。但是,重讀題,我們突然發現反向質數都是 $7$ 位,而將它反過來后的數字卻是 $6$ 位數,這就說明 ......

    uj5u.com 2020-09-10 00:57:36 more
  • 統計區間素數數量

    1 #pragma GCC optimize(2) 2 #include <bits/stdc++.h> 3 using namespace std; 4 bool isprime[1000000010]; 5 vector<int> prime; 6 inline int getlist(int ......

    uj5u.com 2020-09-10 00:57:47 more
  • C/C++編程筆記:C++中的 const 變數詳解,教你正確認識const用法

    1、C中的const 1、區域const變數存放在堆疊區中,會分配記憶體(也就是說可以通過地址間接修改變數的值)。測驗代碼如下: 運行結果: 2、全域const變數存放在只讀資料段(不能通過地址修改,會發生寫入錯誤), 默認為外部聯編,可以給其他源檔案使用(需要用extern關鍵字修飾) 運行結果: ......

    uj5u.com 2020-09-10 00:58:04 more
  • 【C++犯錯記錄】VS2019 MFC添加資源不懂如何修改資源宏ID

    1. 首先在資源視圖中,添加資源 2. 點擊新添加的資源,復制自動生成的ID 3. 在解決方案資源管理器中找到Resource.h檔案,編輯,使用整個專案搜索和替換的方式快速替換 宏宣告 4. Ctrl+Shift+F 全域搜索,點擊查找全部,然后逐個替換 5. 為什么使用搜索替換而不使用屬性視窗直 ......

    uj5u.com 2020-09-10 00:59:11 more
  • 【C++犯錯記錄】VS2019 MFC不懂的批量添加資源

    1. 打開資源頭檔案Resource.h,在其中預先定義好宏 ID(不清楚其實ID值應該設定多少,可以先新建一個相同的資源項,再在這個資源的ID值的基礎上遞增即可) 2. 在資源視圖中選中專案資源,按F7編輯資源檔案,按 ID 型別 相對路徑的形式添加 資源。(別忘了先把檔案拷貝到專案中的res檔案 ......

    uj5u.com 2020-09-10 01:00:19 more
  • C/C++編程筆記:關于C++的參考型別,專供新手入門使用

    今天要講的是C++中我最喜歡的一個用法——參考,也叫別名。 參考就是給一個變數名取一個變數名,方便我們間接地使用這個變數。我們可以給一個變數創建N個參考,這N + 1個變數共享了同一塊記憶體區域。(參考型別的變數會占用記憶體空間,占用的記憶體空間的大小和指標型別的大小是相同的。雖然參考是一個物件的別名,但 ......

    uj5u.com 2020-09-10 01:00:22 more
  • 【C/C++編程筆記】從頭開始學習C ++:初學者完整指南

    眾所周知,C ++的學習曲線陡峭,但是花時間學習這種語言將為您的職業帶來奇跡,并使您與其他開發人員區分開。您會更輕松地學習新語言,形成真正的解決問題的技能,并在編程的基礎上打下堅實的基礎。 C ++將幫助您養成良好的編程習慣(即清晰一致的編碼風格,在撰寫代碼時注釋代碼,并限制類內部的可見性),并且由 ......

    uj5u.com 2020-09-10 01:00:41 more
最新发布
  • Rust中的智能指標:Box<T> Rc<T> Arc<T> Cell<T> RefCell<T> Weak

    Rust中的智能指標是什么 智能指標(smart pointers)是一類資料結構,是擁有資料所有權和額外功能的指標。是指標的進一步發展 指標(pointer)是一個包含記憶體地址的變數的通用概念。這個地址參考,或 ” 指向”(points at)一些其 他資料 。參考以 & 符號為標志并借用了他們所 ......

    uj5u.com 2023-04-20 07:24:10 more
  • Java的值傳遞和參考傳遞

    值傳遞不會改變本身,參考傳遞(如果傳遞的值需要實體化到堆里)如果發生修改了會改變本身。 1.基本資料型別都是值傳遞 package com.example.basic; public class Test { public static void main(String[] args) { int ......

    uj5u.com 2023-04-20 07:24:04 more
  • [2]SpinalHDL教程——Scala簡單入門

    第一個 Scala 程式 shell里面輸入 $ scala scala> 1 + 1 res0: Int = 2 scala> println("Hello World!") Hello World! 檔案形式 object HelloWorld { /* 這是我的第一個 Scala 程式 * 以 ......

    uj5u.com 2023-04-20 07:23:58 more
  • 理解函式指標和回呼函式

    理解 函式指標 指向函式的指標。比如: 理解函式指標的偽代碼 void (*p)(int type, char *data); // 定義一個函式指標p void func(int type, char *data); // 宣告一個函式func p = func; // 將指標p指向函式func ......

    uj5u.com 2023-04-20 07:23:52 more
  • Django筆記二十五之資料庫函式之日期函式

    本文首發于公眾號:Hunter后端 原文鏈接:Django筆記二十五之資料庫函式之日期函式 日期函式主要介紹兩個大類,Extract() 和 Trunc() Extract() 函式作用是提取日期,比如我們可以提取一個日期欄位的年份,月份,日等資料 Trunc() 的作用則是截取,比如 2022-0 ......

    uj5u.com 2023-04-20 07:23:45 more
  • 一天吃透JVM面試八股文

    什么是JVM? JVM,全稱Java Virtual Machine(Java虛擬機),是通過在實際的計算機上仿真模擬各種計算機功能來實作的。由一套位元組碼指令集、一組暫存器、一個堆疊、一個垃圾回收堆和一個存盤方法域等組成。JVM屏蔽了與作業系統平臺相關的資訊,使得Java程式只需要生成在Java虛擬機 ......

    uj5u.com 2023-04-20 07:23:31 more
  • 使用Java接入小程式訂閱訊息!

    更新完微信服務號的模板訊息之后,我又趕緊把微信小程式的訂閱訊息給實作了!之前我一直以為微信小程式也是要企業才能申請,沒想到小程式個人就能申請。 訊息推送平臺🔥推送下發【郵件】【短信】【微信服務號】【微信小程式】【企業微信】【釘釘】等訊息型別。 https://gitee.com/zhongfuch ......

    uj5u.com 2023-04-20 07:22:59 more
  • java -- 緩沖流、轉換流、序列化流

    緩沖流 緩沖流, 也叫高效流, 按照資料型別分類: 位元組緩沖流:BufferedInputStream,BufferedOutputStream 字符緩沖流:BufferedReader,BufferedWriter 緩沖流的基本原理,是在創建流物件時,會創建一個內置的默認大小的緩沖區陣列,通過緩沖 ......

    uj5u.com 2023-04-20 07:22:49 more
  • Java-SpringBoot-Range請求頭設定實作視頻分段傳輸

    老實說,人太懶了,現在基本都不喜歡寫筆記了,但是網上有關Range請求頭的文章都太水了 下面是抄的一段StackOverflow的代碼...自己大修改過的,寫的注釋挺全的,應該直接看得懂,就不解釋了 寫的不好...只是希望能給視頻網站開發的新手一點點幫助吧. 業務場景:視頻分段傳輸、視頻多段傳輸(理 ......

    uj5u.com 2023-04-20 07:22:42 more
  • Windows 10開發教程_編程入門自學教程_菜鳥教程-免費教程分享

    教程簡介 Windows 10開發入門教程 - 從簡單的步驟了解Windows 10開發,從基本到高級概念,包括簡介,UWP,第一個應用程式,商店,XAML控制元件,資料系結,XAML性能,自適應設計,自適應UI,自適應代碼,檔案管理,SQLite資料庫,應用程式到應用程式通信,應用程式本地化,應用程式 ......

    uj5u.com 2023-04-20 07:22:35 more