有考網(wǎng)有考網(wǎng)合作機(jī)構(gòu)>太原培訓(xùn)學(xué)校>太原小店區(qū)學(xué)府達(dá)內(nèi)IT教育培訓(xùn)
太原小店區(qū)學(xué)府達(dá)內(nèi)IT教育培訓(xùn)
全國(guó)統(tǒng)一學(xué)習(xí)專線 8:30-21:00
位置:有考網(wǎng) > 計(jì)算機(jī)類>C/C++開發(fā)> C++開發(fā)輔助工具有哪些?  正文

C++開發(fā)輔助工具有哪些?

發(fā)布時(shí)間:2021-12-20 16:38:34來(lái)源:轉(zhuǎn)載

不知道還有多少程序員選擇用C/C++進(jìn)行應(yīng)用程序開發(fā)?需要用Python解析C源代碼?想要超快的C編譯速度?Rust等眾多新編程語(yǔ)言,對(duì)程序員來(lái)說(shuō)非常有吸引力,移動(dòng)互聯(lián)網(wǎng)經(jīng)濟(jì)的火熱,Java的強(qiáng)烈沖擊,C/C++似乎被眾多程序員遺忘了,但C和C++仍然是編寫應(yīng)用程序的基礎(chǔ)編程語(yǔ)言。更重要的是,C/C++的開發(fā)文化早已深入人心,這里有五個(gè)與C/C++開發(fā)相關(guān)的編譯器,庫(kù)和支持工具。

1、Ccache

C/C++程序的編譯過(guò)程可能需要很長(zhǎng)時(shí)間,Ccache是為了減輕一些編譯負(fù)擔(dān)。顧名思義,它是一個(gè)緩存,可以保存編譯代碼以便重用,如果相鄰的幾次編譯運(yùn)行沒有改變代碼,那么給定項(xiàng)目的運(yùn)行時(shí)間越長(zhǎng),加速越多。它以逐個(gè)文件為基礎(chǔ),采用簡(jiǎn)單的MD4哈希算法來(lái)確定給定文件是否需要重新編譯。不支持編譯器的某些命令行命令,當(dāng)Ccache無(wú)法知曉下一步該做什么時(shí),它將返回原始編譯器。

2、TCC

“T”代表“小”,“CC”代表“C編譯器”。這個(gè)C99兼容編譯器的二進(jìn)制分發(fā)只有1.5MB。不僅小,TCC還超快,簡(jiǎn)單的C應(yīng)用程序在一分鐘之內(nèi)就可以編譯并運(yùn)行,足夠快以致可以使用C應(yīng)用程序作為腳本。不建議程序員依賴TCC來(lái)生成二進(jìn)制文件,它不會(huì)執(zhí)行其他C編譯器執(zhí)行的復(fù)雜優(yōu)化,但它可以不需等待直接對(duì)C應(yīng)用程序進(jìn)行原型化。

對(duì)于鐘愛Visual Studio code的程序員,有一個(gè)非官方的擴(kuò)展,可從該編輯器一鍵編譯和運(yùn)行。

3、Cpi

Cpi本質(zhì)上是C ++的TCC:一個(gè)超級(jí)C ++編譯器,允許適度的C ++程序像腳本一樣執(zhí)行。在腳本的頂部插入一個(gè)shebang,在腳本的正文中插入一個(gè)CompileOptions:指令,如果PHP解釋器運(yùn)行PHP腳本,Cpi可以按需運(yùn)行它。如果需要,Cpi可以生成獨(dú)立的二進(jìn)制文件,甚至包含類似REPL的交互模式。

4、Kcgi

對(duì)于習(xí)慣在Web應(yīng)用程序中使用C編程語(yǔ)言,并對(duì)速度有所要求的程序員,可以考慮使用kcgi庫(kù)。它提供了一組用于接收HTTP請(qǐng)求,解析,返回標(biāo)頭和正文以及獲取和設(shè)置Cookie的原語(yǔ)。Kcgi還有一些方法來(lái)保護(hù)系統(tǒng)免受攻擊,因?yàn)樗梢栽谏诚渥舆M(jìn)程中解析請(qǐng)求。這確實(shí)強(qiáng)加了一些開銷,但比使用完全不受信任的框架要好得多。一個(gè)小缺點(diǎn):它還沒有移植到Windows。現(xiàn)在,它是嚴(yán)格的Unix系列操作系統(tǒng)。

5、Pycparser

Python和C之間有很多重疊:Python的解釋器是用C編寫的,可以接受C擴(kuò)展。為此,一些項(xiàng)目可以彌合兩者之間的差距,Pycparser就是其中之一,但不能運(yùn)行C本身。相反,它提供了C語(yǔ)言解析器的純Python實(shí)現(xiàn)。它構(gòu)成了基礎(chǔ)cffi庫(kù)的一部分,這是Python的ctypes利用C代碼替代Python。如果是對(duì)性能要求很高的程序員,不建議使用Pycparser,如果希望利用Python的靈活性和豐富的庫(kù)來(lái)分析C代碼庫(kù),那么Pycparser將非常方便。

相關(guān)內(nèi)容: C語(yǔ)言開發(fā) C++輔助工具 C++開發(fā)

同類文章
相關(guān)熱詞