Nov 06 2025
Invinc-Z -
C語言之可變參數列表
在 C 語言中,可變參數列表(Variable Argument List)通過 stdarg.h 頭文件提供的宏和函數來實現。它允許函數接受可變數量的參數,類似於 printf 和 scanf 這樣的函數。本文介紹與可變參數列表相關的函數和用法。
核心宏和函數
stdarg.h 提供了以下宏和函數來處理可變參數列表:
宏/函數
作用
va_li
C語言
收藏
評論
Nov 06 2025
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語言
收藏
評論
Nov 06 2025
Invinc-Z -
C語言之如何定義一個數據類型
本文介紹瞭如何設計和定義一個新的數據類型,具體包括建立抽象、建立接口和實現接口三個部分。總結這三步法:從思考“做什麼”(抽象)到規定“怎麼做才對”(接口),最後才是“怎麼做到”(實現),這是編寫健壯、清晰、可維護代碼的基石。
引言
設計一種數據類型包括設計如何儲存該數據類型(屬性)和設計一系列管理該數據的函數(操作)。
計算機科學領域已開發了一種定義新類型的好方法,用3個步驟完成從抽象到具體的過
C語言
收藏
評論
Nov 06 2025
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語言
收藏
評論
Nov 06 2025
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語言
收藏
評論
Nov 06 2025
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語言
收藏
評論
Nov 06 2025
時間已靜止 -
OC方法交換swizzle詳細介紹——不再有盲點
原文鏈接:https://www.cnblogs.com/mddblog/p/11105450.html
如果對方法交換已經比較熟悉,可以跳過整體介紹,直接看常見問題部分
整體介紹
方法交換是runtime的重要體現,也是"消息語言"的核心。OC給開發者開放了很多接口,讓開發者也能全程參與這一過程。
原理
oc的方法調用,比如[self test]會轉換為objc_msgSend(self,@se
swift
收藏
評論
Nov 06 2025
小魚的市場 -
CocoaPods安裝 詳細
開始安裝
1安裝需要⽤到Ruby,雖然Mac⾃帶了Ruby,不過版本有點⽼了,最好更新⼀下
sudo gem update --system
2接下來輸⼊系統密碼就可以安裝了,輸⼊密碼時不會顯⽰的,輸完回車就⾏了
3因為Ruby的軟件源rubygems.org被屏蔽了,所以要更換源
gem sources --add https://gems.ruby-china.com/ --remo
swift
收藏
評論
Nov 06 2025
Mr·Xu -
【Swift】公司項目性能優化(一)
隨着項目開發接近了尾聲,改Bug和性能優化成了工作的重中之重,移動端開發,最注重用户體驗,一個絲滑般的應用程序能在用户心裏加很多印象分。
1、優化列表的滑動速度
作為內容創作類的app,裏面包含了大量的寫作、畫作、小説、動態等多種動態高度的樣式;列表滑動不卡頓,就成了用户體驗的關鍵問題。
1)Autolayout自動佈局比直接計算frame消耗更多的CPU資源,所以在確定內容位置、
swift
收藏
評論
Nov 06 2025
Mr·Xu -
【Swift】拆分小説閲讀器功能,分享內部實現
公司項目結束了,公司估計也快黃了,年底事少,也給了我不少時間來維護博客。
公司的項目是一個類似於簡書的創作平台,涵蓋寫作、小説、插畫內容。
本期主要先下小説閲讀部分,UI樣式仿照的是微信讀書樣式,因之前也寫過小説閲讀器,但是代碼並沒有解耦,這次徹徹底底做一次大改動。
小説用户的常見操作:當前閲讀進入記錄和書籤列表,因公司項目的結構問題,目前新項目並沒有做項目進度記錄和書籤保存功能,
swift
收藏
評論
Nov 06 2025
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
收藏
評論
Nov 06 2025
基地您 -
swift 閉包本質,閉包表達式,尾隨閉包
1. 閉包
一個函數和它所捕獲的變量/常量環境組合起來,稱為閉包
一般指定義在函數內部的函數
一般它所捕獲的是外層函數的局部變量/常量
typealias fn = (Int) - Int
func getFn() - fn{
var count = 0
func sum(_ i: Int) - Int{
count += i
r
swift
收藏
評論
Nov 06 2025
IOS&JAVA開發 -
IOS開發之免費證書+不越獄真機調試
蘋果發佈Xcode 7之後,可以打開正常的AppleID或實機上載,而不是$ 99或$ 299,只要你可以在AppStore下載應用程序的AppleID。關於Mac系統和Xcode的安裝,如果不請參見原文描述,這裏只介紹使用Xcode7和普通AppID創建免費證書、個人資料。
文中測試環境是OSX 10.10.5 + XCode 7正式版本。因此,一些地方的圖像與原文圖像有所不同。
運行Xcode
swift
收藏
評論
Nov 06 2025
京東雲技術團隊 -
Swift之struct二進制大小分析
作者:京東零售 鄧立兵
隨着Swift的日漸成熟和給開發過程帶來的便利性及安全性,京喜App中的原生業務模塊和基礎模塊使用Swift開發佔比逐漸增高。本次討論的是struct對比Class的一些優劣勢,重點分析對包體積帶來的影響及規避措施。
一、基礎知識
1、類型對比
引用類型:將一個對象賦值給另一個對象時,系統不會對此對象進行拷貝,而會將指向這個對象的指針賦值給另一個對象,當修改其中一個
swift
收藏
評論
Nov 06 2025
Jcloud -
萬字長文詳解如何使用Swift提高代碼質量
前言
京喜APP最早在2019年引入了Swift,使用Swift完成了第一個訂單模塊的開發。之後一年多我們持續在團隊/公司內部推廣和普及Swift,目前Swift已經支撐了70%+以上的業務。通過使用Swift提高了團隊內同學的開發效率,同時也帶來了質量的提升,目前來自Swift的Crash的佔比不到1%。在這過程中不斷的學習/實踐,團隊內的Code Review,也對如何使用Swift來提高代碼
swift
收藏
評論
Nov 06 2025
*太¥^白% -
最近幾天
8.03週四
一大早電話吵醒,着急給我媽送卡,早上坐車去延安,順便下來玩玩,和以前的的高中同學打了兩個小時的枱球,又吃了自助,晚上還看了電影,在延安我哥哥家快2點才回去。
8.04週五
昨天睡覺的遲,已經中午快12點才起牀,起來吃點,就在家裏玩電腦,因為一直在下雨,晚上雨小了,才出去吃了紙包魚,晚上也就早早睡了。
8.05週六
今天,早上八點起牀,吃去吃點早飯,回來學習了兩個小時的Java,下午又
swift
收藏
評論
Nov 06 2025
Mr·Xu -
iOS 17新特性以及適配細節彙總
1、UIScrollView
增加了屬性allowsKeyboardScrolling表示是否根據連接的物理鍵盤的方向鍵而滾動。
import UIKit
class ViewController: UIViewController {
lazy var scrollView: UIScrollView = {
let scrollView = UIScrollVi
swift
收藏
評論
Nov 06 2025
只會玩輔助 -
2019-07-11 閉包函數和裝飾器
一、閉包函數
定義:定義在內部的函數引用外部函數的名字(變量)叫做閉包函數
要打印的是inner函數的x,因為這個函數裏面沒有定義x的值,所以找上一層的局部變量x = 111。執行代碼,outter函數被調用,返回值為inner,用變量res接收,所以res = inner,下面再用res(),就是inner(),調用inner函數,執行裏面代碼,打印結果為111
def outter
ruby
收藏
評論
Nov 06 2025
明不知昔 -
一步步在 github pages 上用 jekyll 搭建屬於自己的博客
序
我的專業與互聯網沒有太大關係,接觸博客還是工作以後的事情。隨着工作的經驗增加,總想將自己的所思所得記錄下來,畢竟,好記性不如爛筆頭。
開始是將自己的總結在本地保存,但是本地有一個劣勢,就是不能隨時隨地的查看,最重要的是,不能隨時隨地的裝X,所以,最後轉到了簡書,轉到簡書,是17年的時候,那個時候,簡書的質量還是有保證,但是,隨着簡書的發展,廣告越來越多,文章質量越來越差,而且首頁推送的文章太
ruby
收藏
評論