博客 RSS 訂閱

Invinc-Z - C語言之可變參數列表

在 C 語言中,可變參數列表(Variable Argument List)通過 stdarg.h 頭文件提供的宏和函數來實現。它允許函數接受可變數量的參數,類似於 printf 和 scanf 這樣的函數。本文介紹與可變參數列表相關的函數和用法。 核心宏和函數 stdarg.h 提供了以下宏和函數來處理可變參數列表: 宏/函數 作用 va_li

C語言

收藏 評論

nuanshu - lwip-autoip

lwip-2.1.3/src/core/ipv4/autoip.c AutoIP 通常指的是在動態網絡環境中,系統自動為其網絡接口分配、管理和使用一個IP地址的技術,而無需依賴中心化的服務器(如DHCP服務器)或手動靜態配置 需要使用autoip,需要在opt.h頭文件當中使能LWIP_AUTOIP這個宏,通常也會使能LWIP_DHCP_AUTOIP_COOP這個宏 /* ------

C語言

收藏 評論

Invinc-Z - C語言之如何定義一個數據類型

本文介紹瞭如何設計和定義一個新的數據類型,具體包括建立抽象、建立接口和實現接口三個部分。總結這三步法:從思考“做什麼”(抽象)到規定“怎麼做才對”(接口),最後才是“怎麼做到”(實現),這是編寫健壯、清晰、可維護代碼的基石。 引言 設計一種數據類型包括設計如何儲存該數據類型(屬性)和設計一系列管理該數據的函數(操作)。 計算機科學領域已開發了一種定義新類型的好方法,用3個步驟完成從抽象到具體的過

C語言

收藏 評論

Zeeh-Lin - 一生一芯中有趣的C語言宏:LIST_FOREACH 鏈表遍歷宏

記錄了學習 “一生一芯” 時(更確切地説是學習 “Learn C The Hard Way” 時)遇到的 LIST_FOREACH 鏈表遍歷宏。該宏的精髓在於使用 V 和 _node 雙指針機制,以確保即使在複雜場景下(如用户誤改指針),循環的健壯性和遍歷的正確性也不會被破壞。 LIST_FOREACH的定義 #define LIST_FOREACH(L, S, M, V) ListNod

C語言

收藏 評論

LRadian - MQTT協議

//請求連接 void mqtt_connect(char *clientid,char *username,char *passwd) { uint32_t clientid_len = strlen(clientid); uint32_t username_len = strlen(username); uint32_t passwd_len = strlen(passwd); //用

C語言

收藏 評論

1angx - C_結構體學習_1

這裏記錄一下怎麼為結構體成員變量實現內存連續且為動態 #include iostream #include conio.h #include stdlib.h #include string.h #include stdio.h using namespace std; // 今天描述結構體中的指針和數組 typedef struct _Player { int level; ch

C語言

收藏 評論

時間已靜止 - OC方法交換swizzle詳細介紹——不再有盲點

原文鏈接:https://www.cnblogs.com/mddblog/p/11105450.html 如果對方法交換已經比較熟悉,可以跳過整體介紹,直接看常見問題部分 整體介紹 方法交換是runtime的重要體現,也是"消息語言"的核心。OC給開發者開放了很多接口,讓開發者也能全程參與這一過程。 原理 oc的方法調用,比如[self test]會轉換為objc_msgSend(self,@se

swift

收藏 評論

Minerw - 【iOS】UITextField中的輸入檢測——限制只能輸入數字和小數點

問題提出 最近趁着放假時間,在看The Big Nerd Ranch的iOS編程,想着重新複習一遍iOS開發的基礎知識 書中第四章有一個温度轉換的app實現,整體實現並不難 其中有個問題——如何利用UITextFieldDelegate委託限制UITextField的輸入 問題背景 UITextFieldDelegate裏面有個函數 func textField(_ textField

swift

收藏 評論

小魚的市場 - CocoaPods安裝 詳細

開始安裝 1安裝需要⽤到Ruby,雖然Mac⾃帶了Ruby,不過版本有點⽼了,最好更新⼀下 sudo gem update --system 2接下來輸⼊系統密碼就可以安裝了,輸⼊密碼時不會顯⽰的,輸完回車就⾏了 3因為Ruby的軟件源rubygems.org被屏蔽了,所以要更換源 gem sources --add https://gems.ruby-china.com/ --remo

swift

收藏 評論

清風幽夢 - Swift whit Xcode 遞歸枚舉實現(使用枚舉模擬加減乘除複合運算)

//遞歸枚舉值實例 enum Expression{ //單個數值 case num(param:Int) //表示加法運算 將Expression作為相關值參數類型 indirect case add(param:Expression,param2:Expression) //表示減法運算 將Expression作為相關值參數類型 indire

swift

收藏 評論

Mr·Xu - 【Swift】公司項目性能優化(一)

  隨着項目開發接近了尾聲,改Bug和性能優化成了工作的重中之重,移動端開發,最注重用户體驗,一個絲滑般的應用程序能在用户心裏加很多印象分。   1、優化列表的滑動速度   作為內容創作類的app,裏面包含了大量的寫作、畫作、小説、動態等多種動態高度的樣式;列表滑動不卡頓,就成了用户體驗的關鍵問題。   1)Autolayout自動佈局比直接計算frame消耗更多的CPU資源,所以在確定內容位置、

swift

收藏 評論

Mr·Xu - 【Swift】拆分小説閲讀器功能,分享內部實現

  公司項目結束了,公司估計也快黃了,年底事少,也給了我不少時間來維護博客。   公司的項目是一個類似於簡書的創作平台,涵蓋寫作、小説、插畫內容。   本期主要先下小説閲讀部分,UI樣式仿照的是微信讀書樣式,因之前也寫過小説閲讀器,但是代碼並沒有解耦,這次徹徹底底做一次大改動。   小説用户的常見操作:當前閲讀進入記錄和書籤列表,因公司項目的結構問題,目前新項目並沒有做項目進度記錄和書籤保存功能,

swift

收藏 評論

Mr·Xu - 【Swift/Objective-c】公司項目優化(二) - 下拉刷新抖動問題

  使用MJRefresh進行列表下拉刷新時,會出現列表上下顫抖問題   抖動的原因   我們先來看看在手鬆開之後我們對scrollView做了什麼事情:   ScrollViewDidEndDragging=setContentInset:   為了保證在“Loading”的狀態下,下拉刷新控件可以展示,我們對contentInset做了修改,增加了inset的top. 那這樣一步操作為什麼會導

swift

收藏 評論

Mr·Xu - 【Swift】GRDB數據庫本地存儲聊天記錄

   // // DataManager.swift // GRDBDemo // // Created by Apple on 2021/4/21. // import GRDB struct DataBaseName { /// 數據庫名字 static let test = "conversation.db" } /// 數據庫表名 struct Table

swift

收藏 評論

基地您 - swift 閉包本質,閉包表達式,尾隨閉包

1. 閉包 一個函數和它所捕獲的變量/常量環境組合起來,稱為閉包 一般指定義在函數內部的函數 一般它所捕獲的是外層函數的局部變量/常量 typealias fn = (Int) - Int func getFn() - fn{ var count = 0 func sum(_ i: Int) - Int{ count += i r

swift

收藏 評論

IOS&JAVA開發 - IOS開發之免費證書+不越獄真機調試

蘋果發佈Xcode 7之後,可以打開正常的AppleID或實機上載,而不是$ 99或$ 299,只要你可以在AppStore下載應用程序的AppleID。關於Mac系統和Xcode的安裝,如果不請參見原文描述,這裏只介紹使用Xcode7和普通AppID創建免費證書、個人資料。 文中測試環境是OSX 10.10.5 + XCode 7正式版本。因此,一些地方的圖像與原文圖像有所不同。 運行Xcode

swift

收藏 評論

GarveyCalvin - 給我兩分鐘的時間:微博風格九宮格:UICollectionView實現

引言 UICollectionView 是 iOS 平台上一種強大的視圖佈局工具,能夠很好地實現網格佈局,列表佈局等多種佈局方式。 首先講下今天的目標,我們將要使用 UICollectionView 來創建仿微博的九宮格內容。首先,目標行數為3,每行顯示3張圖片,總共顯示9張圖片。 實現方式 我們往界面上添加一個 UICollectionView,並創建一個 UICollectionViewFlo

swift

收藏 評論

京東雲技術團隊 - Swift之struct二進制大小分析

作者:京東零售 鄧立兵 隨着Swift的日漸成熟和給開發過程帶來的便利性及安全性,京喜App中的原生業務模塊和基礎模塊使用Swift開發佔比逐漸增高。本次討論的是struct對比Class的一些優劣勢,重點分析對包體積帶來的影響及規避措施。 一、基礎知識 1、類型對比 引用類型:將一個對象賦值給另一個對象時,系統不會對此對象進行拷貝,而會將指向這個對象的指針賦值給另一個對象,當修改其中一個

swift

收藏 評論

GarveyCalvin - iOS開發 - Swift Codable協議實戰:快速、簡單、高效地完成JSON和Model轉換!

前言 Codable 是 Swift 4.0 引入的一種協議,它是一個組合協議,由 Decodable 和 Encodable 兩個協議組成。它的作用是將模型對象轉換為 JSON 或者是其它的數據格式,也可以反過來將 JSON 數據轉換為模型對象。 Encodable 和 Decodable 分別定義了 encode(to:) 和 init(from:) 兩個協議函數,分別用來實現數據模型的歸檔

swift

收藏 評論

Jcloud - 萬字長文詳解如何使用Swift提高代碼質量

前言 京喜APP最早在2019年引入了Swift,使用Swift完成了第一個訂單模塊的開發。之後一年多我們持續在團隊/公司內部推廣和普及Swift,目前Swift已經支撐了70%+以上的業務。通過使用Swift提高了團隊內同學的開發效率,同時也帶來了質量的提升,目前來自Swift的Crash的佔比不到1%。在這過程中不斷的學習/實踐,團隊內的Code Review,也對如何使用Swift來提高代碼

swift

收藏 評論

*太¥^白% - 最近幾天

8.03週四 一大早電話吵醒,着急給我媽送卡,早上坐車去延安,順便下來玩玩,和以前的的高中同學打了兩個小時的枱球,又吃了自助,晚上還看了電影,在延安我哥哥家快2點才回去。 8.04週五 昨天睡覺的遲,已經中午快12點才起牀,起來吃點,就在家裏玩電腦,因為一直在下雨,晚上雨小了,才出去吃了紙包魚,晚上也就早早睡了。 8.05週六 今天,早上八點起牀,吃去吃點早飯,回來學習了兩個小時的Java,下午又

swift

收藏 評論

Mr·Xu - iOS 17新特性以及適配細節彙總

1、UIScrollView 增加了屬性allowsKeyboardScrolling表示是否根據連接的物理鍵盤的方向鍵而滾動。 import UIKit class ViewController: UIViewController { lazy var scrollView: UIScrollView = { let scrollView = UIScrollVi

swift

收藏 評論

只會玩輔助 - 2019-07-11 閉包函數和裝飾器

一、閉包函數   定義:定義在內部的函數引用外部函數的名字(變量)叫做閉包函數   要打印的是inner函數的x,因為這個函數裏面沒有定義x的值,所以找上一層的局部變量x = 111。執行代碼,outter函數被調用,返回值為inner,用變量res接收,所以res = inner,下面再用res(),就是inner(),調用inner函數,執行裏面代碼,打印結果為111 def outter

ruby

收藏 評論

明不知昔 - 一步步在 github pages 上用 jekyll 搭建屬於自己的博客

序 我的專業與互聯網沒有太大關係,接觸博客還是工作以後的事情。隨着工作的經驗增加,總想將自己的所思所得記錄下來,畢竟,好記性不如爛筆頭。 開始是將自己的總結在本地保存,但是本地有一個劣勢,就是不能隨時隨地的查看,最重要的是,不能隨時隨地的裝X,所以,最後轉到了簡書,轉到簡書,是17年的時候,那個時候,簡書的質量還是有保證,但是,隨着簡書的發展,廣告越來越多,文章質量越來越差,而且首頁推送的文章太

ruby

收藏 評論