A. c語言有哪些不錯的第三方庫 比如處理字元串的,正則表達式的,計算的等等
boost,GNU,VC7帶的ATL中的和微軟發布的greta都有支持的
B. c語言有沒有類似於c++stl的庫
應該沒有。但目前的編譯器都支持C++,也兼容C,
二者混合編程並沒有什麼大問題,除了做底層的純C開發外
C. 請問c語言有沒有像c++一樣的stack庫函數用來直接使用棧
C語言中包含一些標準的庫函數,但是沒有像C++中的STL容器那部分全面的結構和函數。
在C語言中如果想使用棧,需要自己編寫代碼,如果是簡單的一次性應用,可以用數組模擬棧的功能,如果是在一個大項目中反復使用,可以自己寫一個stack的庫函數。
自定義的庫函數中,至少應該包含初始化、銷毀、入棧、出棧、取棧頂元素、判斷棧是否為空等操作。
D. c語言的struct和database資料庫是不是有類似的地方
沒有類似的地方,struct是一種數據類型,跟int啊string之類的是一樣,你覺得類似大概是因為結構類型內部成員有各種類型,感覺跟資料庫的欄位類似是吧。但是變數只在程序運行的時候存在,當程序關閉它就不復存在了,他是存在於內存當中的。而資料庫是一個本地文件
E. C++ Boost庫BGL的學習有沒有比較好的中文論壇之類的。
如果只是想快速入門的話,我想通過網路搜索到的不少入門文章都可以用,例如IBM網站的文章「
探索 Boost Graph Library」,網址在http://www.ibm.com/developerworks/cn/aix/library/au-aix-boost-graph/index.html;應該是不錯的簡單應用講解。
F. java有jdk那麼c或者c++有和java一樣的類似於jdk這樣的如果有的話是不是封裝在了系統中不用安裝了
Java是運行在JVM中的,並且是編譯成JVM可識別載入的.class,並不是完全編譯成計算機直接可執行的程序,C++程序直接可在計算機中執行。
JDK除了提供基本的類庫之外,還提供了編譯java源文件成.class的工具。
C++在系統中運行時,也需要對應的運行庫。有一些沒有封裝在系統中,也需要C++運行庫的支持,默認是沒有安裝在系統中的。
另外,C++還有像比如boost這樣的庫,功能比較強大一些了。
G. c#有沒有類似boost庫一樣很全的類庫
按照實現的功能,Boost可為大致歸入以下20個分類,在下面的分類中,有些庫同時歸入幾種類別。 a) Conversion庫:對C++類型轉換的增強,提供更強的類型安全轉換、更高效的類型安全保護、進行范圍檢查的數值轉換和詞法轉換。b) Format庫:實現類似...
H. C/C++ 有類似python的pandas的第三方庫嗎
Python擁有一個強大的標准庫。Python語言的核心只包含數字、字元串、列表、字典、文件等常見類型和函數,而由Python標准庫提供了系統管理、網路通信、文本處理、資料庫介面、圖形系統、XML處理等額外的功能。
Python標准庫的主要功能有:
1.文本處理,包含文本格式化、正則表達式匹配、文本差異計算與合並、Unicode支持,二進制數據處理等功能
2.文件處理,包含文件操作、創建臨時文件、文件壓縮與歸檔、操作配置文件等功能
3.操作系統功能,包含線程與進程支持、IO復用、日期與時間處理、調用系統函數、日誌(logging)等功能
4.網路通信,包含網路套接字,SSL加密通信、非同步網路通信等功能
5.網路協議,支持HTTP,FTP,SMTP,POP,IMAP,NNTP,XMLRPC等多種網路協議,並提供了編寫網路伺服器的框架
6.W3C格式支持,包含HTML,SGML,XML的處理。
7.其它功能,包括國際化支持、數學運算、HASH、Tkinter等
Python社區提供了大量的第三方模塊,使用方式與標准庫類似。它們的功能覆蓋科學計算、Web開發、資料庫介面、圖形系統多個領域。第三方模塊可以使用Python或者C語言編寫。SWIG,SIP常用於將C語言編寫的程序庫轉化為Python模塊。Boost C++ Libraries包含了一組函式庫,Boost.Python,使得以Python或C++編寫的程式能互相調用。Python常被用做其他語言與工具之間的「膠水」語言。
著名第三方庫
1.Web框架
Django: 開源Web開發框架,它鼓勵快速開發,並遵循MVC設計,開發周期短。
ActiveGrid: 企業級的Web2.0解決方案。
Karrigell: 簡單的Web框架,自身包含了Web服務,py腳本引擎和純python的資料庫PyDBLite。
Tornado: 一個輕量級的Web框架,內置非阻塞式伺服器,而且速度相當快
webpy: 一個小巧靈活的Web框架,雖然簡單但是功能強大。
CherryPy: 基於Python的Web應用程序開發框架。
Pylons: 基於Python的一個極其高效和可靠的Web開發框架。
Zope: 開源的Web應用伺服器。
TurboGears: 基於Python的MVC風格的Web應用程序框架。
Twisted: 流行的網路編程庫,大型Web框架。
Quixote: Web開發框架。
2.科學計算
Matplotlib: 用Python實現的類matlab的第三方庫,用以繪制一些高質量的數學二維圖形。
SciPy: 基於Python的matlab實現,旨在實現matlab的所有功能。
NumPy: 基於Python的科學計算第三方庫,提供了矩陣,線性代數,傅立葉變換等等的解決方案。
3.GUI
PyGtk: 基於Python的GUI程序開發GTK+庫。
PyQt: 用於Python的QT開發庫。
WxPython: Python下的GUI編程框架,與MFC的架構相似。
4.其它
BeautifulSoup: 基於Python的HTML/XML解析器,簡單易用。
PIL: 基於Python的圖像處理庫,功能強大,對圖形文件的格式支持廣泛。
PyGame: 基於Python的多媒體開發和游戲軟體開發模塊。
Py2exe: 將python腳本轉換為windows上可以獨立運行的可執行程序。
參考自維基網路
I. 常見的C++框架有哪些
C++通用框架和庫:
Apache C++ Standard Library:是一系列演算法,容器,迭代器和其他基本組件的集合
ASL:Adobe源代碼庫提供了同行的評審和可移植的C++源代碼庫。
Boost:大量通用C++庫的集合。
BDE:來自於彭博資訊實驗室的開發環境。
Cinder:提供專業品質創造性編碼的開源開發社區。
Cxxomfort:輕量級的,只包含頭文件的庫,將C++ 11的一些新特性移植到C++03中。
Dlib:使用契約式編程和現代C++科技設計的通用的跨平台的C++庫。
EASTL:EA-STL公共部分。
ffead-cpp:企業應用程序開發框架。
Folly:由Facebook開發和使用的開源C++庫。
JUCE:包羅萬象的C++類庫,用於開發跨平台軟體。
libPhenom:用於構建高性能和高度可擴展性系統的事件框架。
LibSourcey:用於實時的視頻流和高性能網路應用程序的C++11 evented IO。
LibU: C語言寫的多平台工具庫。
Loki:C++庫的設計,包括常見的設計模式和習語的實現。
MiLi:只含頭文件的小型C++庫。
openFrameworks:開發C++工具包,用於創意性編碼。
Qt:跨平台的應用程序和用戶界面框架。
Reason:跨平台的框架,使開發者能夠更容易地使用Java,.Net和Python,同時也滿足了他們對C++性能和優勢的需求。
ROOT:具備所有功能的一系列面向對象的框架,能夠非常高效地處理和分析大量的數據,為歐洲原子能研究機構所用。
STLport:是STL具有代表性的版本。
STXXL:用於額外的大型數據集的標准模板庫。
Ultimate++:C++跨平台快速應用程序開發框架。
Windows Template Library:用於開發Windows應用程序和UI組件的C++庫。
Yomm11:C++11的開放multi-methods。
J. Boost庫的分類
按照實現的功能,Boost可為大致歸入以下20個分類,在下面的分類中,有些庫同時歸入幾種類別。 a) Conversion庫:對C++類型轉換的增強,提供更強的類型安全轉換、更高效的類型安全保護、進行范圍檢查的數值轉換和詞法轉換。
b) Format庫:實現類似printf的格式化對象,可以把參數格式化到一個字元串,而且是完全類型安全的。
c) IOStream庫 :擴展C++標准庫流處理,建立一個流處理框架。
d) Lexical Cast庫:用於字元串、整數、浮點數的字面轉換。
e) Regex 庫:正則表達式,已經被TR1所接受。
f) Spirit庫:基於EBNF範式的LL解析器框架
g) String Algo庫:一組與字元串相關的演算法
h) Tokenizer庫:把字元串拆成一組記號的方法
i) Wave庫:使用spirit庫開發的一個完全符合C/C++標準的預處理器
j) Xpressive 庫:無需編譯即可使用的正則表達式庫 a) Array 庫:對C語言風格的數組進行包裝
b) Bimap 庫:雙向映射結構庫
c) Circular Buffer 庫:實現循環緩沖區的數據結構
d) Disjoint Sets庫 :實現不相交集的庫
e) Dynamic Bitset 庫:支持運行時調整容器大小的位集合
f) GIL 庫:通用圖像庫
g) Graph 庫:處理圖結構的庫
h) ICL 庫:區間容器庫,處理區間集合和映射
i) Intrusive 庫:侵入式容器和演算法
j) Multi-Array 庫:多維容器
k) Multi-Index 庫:實現具有多個STL兼容索引的容器
l) Pointer Container 庫:容納指針的容器
m) Property Map 庫:提供鍵/值映射的屬性概念定義
n) Property Tree 庫:保存了多個屬性值的樹形數據結構
o) Unordered 庫:散列容器,相當於hash_xxx
p) Variant 庫:簡單地說,就是持有string, vector等復雜類型的聯合體 a) GIL 庫:通用圖像庫
b) Graph 庫:處理圖結構的庫
c) Iterators 庫:為創建新的迭代器提供框架
d) Operators 庫:允許用戶在自己的類里僅定義少量的操作符,就可方便地自動生成其他操作符重載,而且保證正確的語義實現
e) Tokenizer 庫:把字元串拆成一組記號的方法 a) Foreach庫:容器遍歷演算法
b) GIL庫:通用圖像庫
c) Graph庫:處理圖結構的庫
d) Min-Max庫:可在同一次操作中同時得到最大值和最小值
e) Range庫:一組關於范圍的概念和實用程序
f) String Algo庫:可在不使用正則表達式的情況下處理大多數字元串相關演算法操作
g) Utility庫:小工具的集合 a) Bind庫:綁定器的泛化,已被收入TR1
b) Function庫:實現一個通用的回調機制,已被收入TR1
c) Functional庫:適配器的增強版本
d) Functional/Factory庫:用於實現靜態和動態的工廠模式
e) Functional/Forward庫:用於接受任何類型的參數
f) Functional/Hash庫:實現了TR1中的散列函數
g) Lambda庫:Lambda表達式,即未命名函數
h) Member Function庫:是STL中mem_fun和mem_fun_ref的擴展
i) Ref庫:包裝了對一個對象的引用,已被收入TR1
j) Result Of庫:用於確定一個調用表達式的返回類型,已被收入TR1
k) Signals庫:實現線程安全的觀察者模式
l) Signals2庫:基於Signal的另一種實現
m) Utility庫:小工具的集合
n) Phoenix庫:實現在C++中的函數式編程。 a) Call Traits庫:封裝可能是最好的函數傳參方式
b) Concept Check庫:用來檢查是否符合某個概念
c) Enable If庫:允許模板函數或模板類在偏特化時僅針對某些特定類型有效
d) Function Types庫:提供對函數、函數指針、函數引用和成員指針等類型進行分類分解和合成的功能
e) GIL庫:通用圖像庫
f) In Place Factory, Typed In Place Factory庫:工廠模式的一種實現
g) Operators庫:允許用戶在自己的類里僅定義少量的操作符,就可方便地自動生成其他操作符重載,而且保證正確的語義實現
h) Property Map庫:提供鍵值映射的屬性概念定義
i) Static Assert庫:把斷言的診斷時刻由運行期提前到編譯期,讓編譯器檢查可能發生的錯誤
j) Type Traits庫:在編譯時確定類型是否具有某些特徵
k) TTI庫:實現類型萃取的反射功能。 a) Fusion庫:提供基於tuple的編譯期容器和演算法
b) MPL庫:模板元編程框架
c) Proto庫:構建專用領域嵌入式語言
d) Static Assert庫:把斷言的診斷時刻由運行期提前到編譯期,讓編譯器檢查可能發生的錯誤
e) Type Traits庫:在編譯時確定類型是否具有某些特徵 a) Asio庫:基於操作系統提供的非同步機制,採用前攝設計模式實現了可移植的非同步IO操作
b) Interprocess庫:實現了可移植的進程間通信功能,包括共享內存、內存映射文件、信號量、文件鎖、消息隊列等
c) MPI庫:用於高性能的分布式並行開發
d) Thread庫:為C++增加線程處理能力,支持Windows和POSIX線程
e) Context庫:提供了在單個線程上的協同式多任務處理的支持。該庫可以用於實現用戶級的多任務處理的機制,比如說協程coroutines,用戶級協作線程或者類似於C#語言中yield關鍵字的實現。
f) Atomic庫:實現C++11樣式的atomic<>,提供原子數據類型的支持和對這些原子類型的原子操作的支持。
g)Coroutine庫:實現對協程的支持。協程與線程的不同之處在於,協程是基於合作式多任務的,而多線程是基於搶先式多任務的。
h)Lockfree庫:提供對無鎖數據結構的支持。 a) Accumulators庫:用於增量計算的累加器的框架
b) Integer庫:提供一組有關整數處理的類
c) Interval庫:處理區間概念的數學問題
d) Math庫:數學領域的模板類和演算法
e) Math Common Factor庫:用於支持最大公約數和最小公倍數
f) Math Octonion庫 :用於支持八元數
g) Math Quaternion庫:用於支持四元數
h) Math/Special Functions庫:數學上一些常用的函數
i) Math/Statistical Distributions庫:用於單變數統計分布操作
j) Multi-Array庫:多維容器
k) Numeric Conversion庫:用於安全數字轉換的一組函數
l) Operators庫:允許用戶在自己的類里僅定義少量的操作符,就可方便地自動生成其他操作符重載,而且保證正確的語義實現
m) Random庫:專注於偽隨機數的實現,有多種演算法可以產生高質量的偽隨機數
n) Rational庫:實現了沒有精度損失的有理數
o) uBLAS庫:用於線性代數領域的數學庫
p) Geometry庫:用於解決幾何問題的概念、原語和演算法。
q) Ratio庫:根據C++ 0x標准N2661號建議 ,實現編譯期的分數操作。
r)Multiprecision庫:提供比C++內置的整數、分數和浮點數精度更高的多精度數值運算功能。
s)Odeint庫:用於求解常微分方程的初值問題。 a) Concept Check庫 :用來檢查是否符合某個概念
b) Static Assert庫 :把斷言的診斷時刻由運行期提前到編譯期,讓編譯器檢查可能發生的錯誤
c) Test庫:提供了一個用於單元測試的基於命令行界面的測試套件 a) Any庫:支持對任意類型的值進行類型安全的存取
b) Bimap庫:雙向映射結構庫
c) Compressed Pair庫:優化的對pair對象的存儲
d) Fusion庫:提供基於tuple的編譯期容器和演算法
e) ICL庫:區間容器庫,處理區間集合和映射
f) Multi-Index庫:為底層的容器提供多個索引
g) Pointer Container庫:容納指針的容器
h) Property Tree庫:保存了多個屬性值的樹形數據結構
i) Tuple庫:元組,已被TR1接受
j) Uuid庫:用於表示和生成UUID
k) Variant庫:有類別的泛型聯合類
l) Heap庫:對std::priority_queue擴展,實現優先順序隊列。
m) Type Erasure: 實現運行時的多態。 a) Assign庫:用簡潔的語法實現對STL容器賦值或者初始化
b) Format庫:實現類似printf的格式化對象,可以把參數格式化到一個字元串,而且是完全類型安全的
c) IO State Savers庫:用來保存流的當前狀態,自動恢復流的狀態等
d) IOStreams庫:擴展C++標准庫流處理,建立一個流處理框架
e) Program Options庫:提供強大的命令行參數處理功能
f) Serialization庫:實現C++數據結構的持久化 a) Pool庫:基於簡單分隔存儲思想實現了一個快速、緊湊的內存池庫
b) Smart Ptr庫:智能指針
c) Utility庫:小工具的集合 a) Function庫:實現一個通用的回調機制,已被收入TR1
b) Parameter庫:提供使用參數名來指定函數參數的機制 a) Compressed Pair庫:優化的對pair對象的存儲
b) CRC庫:實現了循環冗餘校驗碼功能
c) Date Time 庫:一個非常全面靈活的日期時間庫
d) Exception庫:針對標准庫中異常類的缺陷進行強化,提供<<操作符重載,可以向異常傳入任意數據
e) Filesystem庫:可移植的文件系統操作庫,可以跨平台操作目錄、文件,已被TR2接受
f) Flyweight 庫:實現享元模式,享元對象不可修改,只能賦值
g) Lexical Cast 庫:用於字元串、整數、浮點數的字面轉換
h) Meta State Machine庫:用於表示UML2有限狀態機的庫
i) Numeric Conversion 庫:用於安全數字轉換的一組函數
j) Optional 庫:使用容器的語義,包裝了可能產生無效值的對象,實現了未初始化的概念
k) Polygon 庫:處理平面多邊形的一些演算法
l) Program Options庫:提供強大的命令行參數處理功能
m) Scope Exit庫:使用preprocessor庫的預處理技術實現在退出作用域時資源自動釋放
n) Statechart庫:提供有限自動狀態機框架
o) Swap庫:為交換兩個變數的值提供便捷方法
p) System庫:使用輕量級的對象封裝操作系統底層的錯誤代碼和錯誤信息,已被TR2接受
q) Timer庫:提供簡易的度量時間和進度顯示功能,可以用於性能測試等需要計時的任務
r) Tribool庫:三態布爾邏輯值,在true和false之外引入indeterminate不確定狀態
s) Typeof庫:模擬C++0x新增加的typeof和auto關鍵字,以減輕變數類型聲明的工作,簡化代碼
t) Units庫:實現了物理學的量綱處理
u) Utility庫:小工具集合
v) Value Initialized庫:用於保證變數在聲明時被正確初始化
w) Chrono庫:實現了C++ 0x標准中N2661號建議 所支持的時間功能。
x) Log庫:實現日誌功能。
y) Predef庫:提供一批統一兼容探測其他宏的預定義宏。 a) Compatibility庫:為不符合標准庫要求的環境提供幫助
b) Config庫:將程序的編譯配置分解為三個部分:平台、編譯器和標准庫,幫助庫開發者解決特定平台特定編譯器的兼容問題