Re: [問題] 請問Linux C有類似List<T>的用法嗎?

作者: DonaldTrunnp (The US President)   2018-02-12 13:20:50
因為我也曾經有過類似的需求
而寫了一套一系列的 linked list 容器
https://github.com/kevin-dong-nai-jia/OpenGC3
更加注重在 性能的優化和代碼的簡潔性
目前以 MIT License 發佈
我的實作與 Linux list_head 的差別如下:
1. 當前置定義 #define CC_STRICT
可以「完全遵守」使用 C99+ 標準規範
不使用任何 GCC C編譯器的擴展語法
但是 Linux 的實作不能
2. 提供多種 list 的資料結構
包含 doubly/singly/exclusive-or list
但是 Linux 的實作只有第一種
3. 使用 non-intrusive 容器的設計
宣告和操作 list 變得非常地容易
只需要使用 ccdll(int) list;
這與 Linux 使用方式的有巨大的改進
4. 最重要的是
它優異的的設計使得它的效能可以
在處理極大量資料時大大提升
https://i.imgur.com/ehK1uDZ.png
5. 另一個最重要的是
它的多種測資已經通過 valgrind 的檢查
不會造成內存外泄和非初始化資料存取
而且擁有詳細的 documentations
描述每個操作的使用方法和巨集依賴關係
這是 OpenGC3 專案被託管的地方
https://github.com/kevin-dong-nai-jia/OpenGC3
這是一個簡易的範例
介紹如何使用 ccdll 對檔案基於行的排序
./sort-by-lines <path-to-file> <strncmp-3rd-arg>
https://gist.github.com/kevin-dong-nai-jia/834e3d16c3c7f0f8496ef23945dbf7ca
希望你會喜歡 >皿<
喜歡並對你有幫助的話請幫我在上方點擊一顆星星!
這會是我最棒的過年禮物(燦笑
※ 引述《takesi5200 (小咪)》之銘言:
: 問題(Question):
: 不好意思,.NET有List<T>集合,
: 可以很方便把資料放入集合裡。
: 小妹因公司需求要在Linux平台上
: 也開發類似此方法。
: 請問Linux C有沒有類似方法呢?
: 懇請個位高手指導,謝謝
作者: chrishappy11 (墨德)   2018-02-12 13:28:00
推~~
作者: galic (嘎利)   2018-02-12 13:55:00
總統先生的容器
作者: damody (天亮damody)   2018-02-12 14:28:00
好猛
作者: la8day (la8day)   2018-02-12 14:35:00
厲害了這
作者: ggBird (ggBird)   2018-02-12 14:48:00
偉大的祖國統領
作者: Sirctal (母豬母豬 夜裡哭哭)   2018-02-12 16:02:00
你是不是在WWE的摔角擂台上寫出來的??
作者: Neisseria (Neisseria)   2018-02-12 16:03:00
總統級的 container,已跪
作者: uranusjr (←這人是超級笨蛋)   2018-02-12 16:07:00
可是瑞凡, C# 通常是用 array list 不是 linked list
作者: dzwei (Cout<< *p << \n ;)   2018-02-12 16:19:00
跪了
作者: dannypsnl (秦書)   2018-02-12 16:49:00
點進去才發現按過了XEXD
作者: chrishappy11 (墨德)   2018-02-12 20:47:00
沒想到在C#簡單的List拿到C/C++竟然這麼複雜
作者: LPH66 (-6.2598534e+18f)   2018-02-12 20:57:00
不, 只有 C 而已, C++ 的 STL 有 std::list<T>
作者: Ommm5566 (56天團)   2018-02-12 21:27:00
c++還有boost MPL庫的list工具
作者: y3k (激流を制するは静水)   2018-02-12 22:00:00
已給星
作者: DonaldTrunnp (The US President)   2018-02-12 22:36:00
謝謝 >皿<
作者: oiu850714 (oiu)   2018-02-12 23:26:00
這不是專題特優的大大嗎
作者: descent (「雄辯是銀,沉默是金」)   2018-02-12 23:26:00
不知道為什麼, c 標準不加入這些資料結構
作者: hunandy14 (Charlott.HonG)   2018-02-13 01:49:00
各種黑魔法 已跪
作者: oiu850714 (oiu)   2018-02-13 02:37:00
用macro幹出container,超醉...
作者: cashlalala (快來跟我做朋友)   2018-02-13 23:40:00
強~~~~~~
作者: andrew000129   2018-02-15 15:15:00
作者: Neisseria (Neisseria)   2018-02-15 17:57:00
補給星了,拜讀 macro 語法中 >_<

Links booklink

Contact Us: admin [ a t ] ucptt.com