1樓:蒲公英
自從看了《Unix/Linux程式設計實踐教程》(五星推薦這本書),檢視標頭檔案和函式資訊非常方便。
man -k keyword | grep "name"查詢乙個man手冊中的簡短說明包含keyword的函式,name為函式名的關鍵字(可以不加管道)
如man -k timer | grep "set"查詢乙個man手冊中的簡短說明包含timer的函式,set為函式名的關鍵字(可以不加管道),可以查詢到以下資訊:
getitimer (2get or set value of an interval timer
setitimer (2get or set value of an interval timer
timer_settime (2) - arm/disarm and fetch state of POSIX per-process timer
timerfd_settime (2) - timers that notify via file descriptors
timerisset (3timeval operations
函式呼叫任君選擇。
grep "keyword" /usr/include/*.h | grep "typedef"
grep "keyword" /usr/include/*/*.h | grep "typedef"
如 grep "time_t" /usr/include/*.h | grep "typedef"
可以查詢到 " typedef __time_t time_t; "
以上方法可以查詢關鍵字為keyword的結構體、型別、函式原型的定義,typedef可以替換為define嘗試查詢,幾次重複查詢找到的定義,就能最終確定。
locate keyword.h可以查詢名為keyword的標頭檔案所在的目錄樹
如 locate time.h | grep "/usr/include"可以查詢到一下資訊:
/usr/include/time.h
/usr/include/utime.h
/usr/include/i386-linux-gnu/bits/time.h
/usr/include/i386-linux-gnu/sys/time.h
/usr/include/linux/time.h
/usr/include/linux/utime.h
/usr/include/linux/netfilter/xt_time.h
/usr/include/python2.7/datetime.h
標頭檔案任君選擇。
從此在linux下程式設計,查詢函式原型、標頭檔案、型別定義方便多了。
2樓:PegasusWang
在終端下直接用man 2 fun 可以檢視系統函式,用man 3 fun可以檢視c庫函式(fun是你要查的函式名字)
在vim裡,你直接把游標移到頭檔案,然後gf命令(go to file)可以跳轉到頭檔案檢視裡邊的東西,在vim裡邊在函式上用shift + k可以跳轉到函式查詢。
另外學linux程式設計可以參考《unix環境高階程式設計》
3樓:Hilon
Windows下很多_s的函式Linux下都沒有的。你可以先man下試試,沒有的話試試不帶_s的。strcat之前一直是不帶的,對於新標準,Linux一直是支援比較快的。
但是有一些東西究竟需不需要支援,就是另外一回事了。這個說起來又要打嘴仗了
linux中c庫函式和系統呼叫的區別是什麼呢?
徐聖 簡單的說c庫函式是為了方便使用者程式設計以及使用OS,對系統呼叫的封裝和擴充套件。封裝體現在使用系統功能介面更友好,更方便。直接調系統呼叫API,你會發現引數較多,各種返回異常需要自己處理。C庫一定程度上幫你做了這個工作。擴充套件體現在系統呼叫沒有的功能,c庫幫你擴充了。比如string庫很多...
如何不用庫函式用C 實現RSA檔案加密?
步驟 實現大數庫 實現大數四則運算 使用Montgomery實現模乘模冪 藉由上述基礎完成Miller Rabin素數測試然後就是簡單的函式呼叫進行c d N之類的操作了 柳傾 本科畢業設計寫過RSA 加密。需要額外的庫最根本的原因是需要 大數庫 因為RSA 加解密資料塊長度超過常用型別 int,s...
在C 中如何實現復合多個函式的高階函式
guohc FuncCombinator的引數不固定所以只能傳入delegate的陣列。static void Main string args static Func FuncCombinator Delegate da TResult result TResult param return re...