中文

10个最好用的C/C++工具、插件和资料库

想提高工作效率吗?以下我们编辑了10个最好用的C/C++工具、插件和资料库,它们是由Livecoding.tv 上的工程师选出来的。

什么是C/C++?

C是20世纪70年代中期开发的一种高级的编程语言。它最初被用来编写Unix程序,但现在它几乎可以用来编写所有平台的应用程序。C++是建立在C语言的基础上的,它的语法几乎与C语言是一样的,不过C++具有面向对象的功能,它允许开发者在代码中创建对象。

下面就与大家分享10个最好用的C/C++工具、插件和资料库。

Vim

Vim是一个高度可配置的文本编辑器,它可以用来有效地编辑文本。它是一种高级文本编辑器,旨在用更全面的功能支持实际上的Unix编辑器Vi。无论你已经在使用Vi还是别的编辑器,它都是有作用的。

vim

Ctags

Ctags 生成一个在源文件中发现的语言对象的索引(或标签)文件,它让这些文件在文本编辑器或其它工具中被快速、轻松地找到。标记表示一个可以使用索引条目的语言对象(或者是该索引条目是为那个对象创建的。)

image11.jpg

Cscope

Cscope 是开发者用来浏览源代码的工具。它生成一个信息库,方便更快搜索和作为以后的参考。

image14.jpg

Cmake

Cmake 是一种开源的跨平台的工具系列,用于建设、测试和打包软件。Cmake被用来控制软件的编译过程,它使用简单的平台和编译器的独立配置文件,并可以在你所选择的编译环境中生成本地文件和工作区。

image13.jpg

GDB

GDB,GNU项目调试器,允许你看到另一个程序在执行时,它里面将会发生什么事情,或者当发生冲突的时候,另一个程序正在做什么。

image16.jpg

GPROF

Gprof 是UNIX应有程序的性能分析工具。它可以配置C语言、C++,Pascal,以及Fortran 77应用程序。分析可以让你了解你的程序在哪个地方花了多少时间,以及哪些函数在被执行的过程中调用了其它哪些函数。Gprof 程序用印刷体书写统一的分析并用标准输出一个函数的调用图。

image05.jpg

Valgrind

Valgrind 是一个开源的,建立动态分析工具的仪表框架。它目前的分布包括六种生产质量工具和三个实验工具。

image19.jpg

TotalView

Livecoding.tv 上的工程师依靠这种工具来解决他们对并行调试的需求。它的可扩展性,内置的调试器和多语言的支持,令它成为livecoding.tv 平台上的工程师必不可少的工具。

image17.jpg

SciTE

ScoTE 是一个基于SCIntilla的文本编辑器。最初它被用来展示Scintilla,现在它已经被当作一般的编辑器使用,用于加快程序的建设和运行。它最好的是被用来处理配置简单的工作。Livecoding.tv 上的工程师用它来建立测试和展示程序,以及SciTE和Scintilla它们本身。

image12.jpg

Code::Blocks

Code::Blocks是一个免费的C, C++和Fortran IDE, 它可以满足用户最苛刻的需求。它的设计有很大的可扩展性,以及是完全可配置的。

image18.jpg

Avatar
About author

I, Dr. Michael J. Garbade is the co-founder of the Education Ecosystem (aka LiveEdu), ex-Amazon, GE, Rebate Networks, Y-combinator. Python, Django, and DevOps Engineer. Serial Entrepreneur. Experienced in raising venture funding. I speak English and German as mother tongues. I have a Masters in Business Administration and Physics, and a Ph.D. in Venture Capital Financing. Currently, I am the Project Lead on the community project -Nationalcoronalvirus Hotline I write subject matter expert technical and business articles in leading blogs like Opensource.com, Dzone.com, Cybrary, Businessinsider, Entrepreneur.com, TechinAsia, Coindesk, and Cointelegraph. I am a frequent speaker and panelist at tech and blockchain conferences around the globe. I serve as a start-up mentor at Axel Springer Accelerator, NY Edtech Accelerator, Seedstars, and Learnlaunch Accelerator. I love hackathons and often serve as a technical judge on hackathon panels.