首页 > 代码库 > c,c++,嵌入式开发工具,环境

c,c++,嵌入式开发工具,环境


网络性能工具:
吞吐率测试工具:qcheck
组播流测试工具:mcast
超限组播测试工具:mcasttest
solarwinds
带宽测试:ping plotter freeware
测量无线网络带宽:ixchariot

 

 

 

 

 

 

 

 

网络管理常用工具 (2011-03-03 09:22)

标签:  网络管理  工具  分类: 系统管理

工具: Smokeping (网络延迟监测工具)
网址:http://oss.oetiker.ch/smokeping/
类别:开放源码
平台: Linux/BSD/Unix/Windows
简介: Smokeping 延迟监测工具采用 ping 等多种方式监测从网管中心到出口的各条重要线路的延迟情况。利用这一工具可以监测网络的性能是否能满足各种应用的需要。 SmokePing 工作的方式与 MRTG 类似。使用 RRDtool 作为自己登录和图形化后台,整个系统工作效率非常高。
--------------------------------------------------------------------------------
工具: getif ( MIB 浏览器)
网址:http://www.wtcs.org/snmp4tpc/getif.htm
类别:开放源码
平台: Windows
简介: Getif 是一个 windows 版的 MIB 浏览器。输入某设备的 IP 地址和 snmp 读密码,就可以查看该设备上所有支持的 SNMP MIB 值。
--------------------------------------------------------------------------------
工具: Ethereal (网络协议检测工具)
网址:http://www.ethereal.com/
类别:开放源码
平台: Linux/BSD/Unix/Windows
简介: Ethereal 是一款免费的网络协议分析程序,支持Unix 、 Windows 。借助这个程序,你既可以直接从网络上抓取数据进行分析,也可以对由其他嗅探器抓取后保存在硬盘上的数据进行分析。你能交互式地浏览抓取到的数据包,查看每一个数据包的摘要和详细信息。 Ethereal 有多种强大的特征,如支持几乎所有的协议、丰富的过滤语言、易于查看TCP 会话经重构后的数据流等。
--------------------------------------------------------------------------------
工具: Iperf (网络性能测量工具)
网址:http://dast.nlanr.net/Projects/Iperf/
类别:开放源码
平台: Linux/BSD/Unix/Windows
简介: Iperf 是一个 TCP/IP 和 UDP/IP 的性能测量工具,能够提供网络吞吐率信息,以及震动、丢包率、最大段和最大传输单元大小等统计信息;从而能够帮助我们测试网络性能,定位网络瓶颈。其设计从根本上克服了原来的一些工具,如 ttcp 和 nettest 等的固有的缺陷。
--------------------------------------------------------------------------------
工具: Snort (免费的入侵检测系统)
网址:http://www.snort.org/
类别:开放源码
平台: Linux/BSD/Unix/Windows
简介: Snort 是一款轻量级的网络入侵检测系统,能够在IP 网络上进行实时的流量分析和数据包记录。它不仅能进行协议分析、内容检索、内容匹配,而且能用于侦测诸如缓冲溢出、隐秘端口扫描、 CGI 攻击、 SMB 探测、操作系统指纹识别等大量的攻击或非法探测。 Snort 使用灵活的规则去描述哪些流量应该被收集或被忽略,并且提供一个模块化的探测引擎。
--------------------------------------------------------------------------------
工具: Netcat (网络瑞士军刀)
网址:hhttp://netcat.sourceforge.net/
类别:开放源码
平台: Linux/BSD/Unix/Windows
简介:一个简单而有用的工具,透过使用 TCP 或 UDP 协议的网络连接去读写数据。它被设计成一个稳定的后门工具,能够直接由其它程序和脚本轻松驱动。同时,它也是一个功能强大的网络调试和探测工具,能够建立你需要的几乎所有类型的网络连接,还有几个很有意思的内置功能。
--------------------------------------------------------------------------------
工具: TCPDump/WinDump (用于网络监测和数据收集的优秀嗅探器)
网址:http://www.tcpdump.org/,http://www.winpcap.org/windump/
平台: Windows
简介: Windump 是一款众人皆知和受人喜欢的基于命令行的网络数据包分析和嗅探工具。它能把匹配规则的数据包的包头给显示出来。你能使用这个工具去查找网络问题或者去监视网络上的状况。 WinDump 是 Tcpdump 在Windows 平台上的移植版。
--------------------------------------------------------------------------------
工具: Hping2 (类似 ping 的网络探测工具)
网址:http://www.hping.org/
类别:开放源码
平台: Linux/BSD/Unix
简介: hping2 能发送自定义的 ICMP/UDP/TCP包到目标地址并且显示包的响应情况。它有一个方便的 traceroute 模式,并且支持 IP 分片。这个工具在 traceroute 、 ping 和探测防火墙后的主机时特别有用。
--------------------------------------------------------------------------------
工具: SolarWinds Toolsets (大量的网络发现、监视、攻击工具)
网址:http://www.solarwinds.net/
类别:商业
平台: Windows
简介: SolarWinds 包含大量适合系统管理员做特殊用途的工具,与安全相关的工具包括许多的网络发现扫描器( network discovery scanner )和一个 SNMP 强力破解器。
--------------------------------------------------------------------------------
工具: NGrep (方便的包匹配和显示工具)
网址:http://www.packetfactory.net/projects/ngrep/
类别:开放源码
平台: Linux/BSD/Unix/Windows
简介: NGrep 在网络层实现了 GNU grep 的大多数功能,基于 pcap ,可以使你通过指定扩展的正则表达式或十六进制表达式去匹配网络上的数据流量。它当前能够识别流经以太网、 PPP 、 SLIP 、 FDDI 、令牌网和回环设备上的 TCP 、 UDP 和 ICMP 数据包,并且和其他常见的嗅探工具(如 tcpdump 和 snoop )一样,理解 bpf 过滤机制。
--------------------------------------------------------------------------------
工具: NTop (网络使用状况监测软件)
网址:http://www.ntop.org/
类别:开放源码
平台: Linux/BSD/Unix/Windows
简介: Ntop 是一款显示网络使用状况的流量监测软件,类似于UNIX 平台上监视系统进程的 top 命令。在交互模式下,ntop 会将网络的使用状况显示在用户的终端上;在 Web 模式下, ntop 会做为一个 web 服务器,创建包含网络状况的 HTML 网页返回给用户。
--------------------------------------------------------------------------------
工具: Paketto Keiretsu (极端的TCP/IP )
网址:http://www.doxpara.com/paketto
类别:开放源码
平台: Linux/BSD/Unix
简介: Paketto Keiretsu 是一组使用新式的不常见的策略去操作 TCP/IP 网络的工具集合,开发的最初本意是为了在现有 TCP/IP 架构里去实现一些功能,但现在已经远远超出了最初的本意。包含的工具有: Scanrand ,一个罕见的快速的网络服务和拓朴发现系统; Minewt ,一个 NAT/MAT 路由器; linkcat ,把以太网链路做为标准的输入输出; Paratrace ,不产生新的连接就能追踪网络路径; Phentropy ,使用 OpenQVIS 在三维拓朴空间里能绘制出任意总量的数据源图形。

 

 

 

人常说,好工匠要有好工具。荀子说:君子生非异也,善假于物也。一个好的程序员也必然有用得最顺手的工具软件。
做C程序员也有两年了,从最初只知道TC,VC,到现在已经离不开很多软件。
下面把我常用的列一下:
写代码:VC助手,离不开的自动提示、自动补全功能。
读代码:Source Insight,一天都离不了。
代码静态检查:pc-lint。想通过好难啊。
文件比较:Beyond Compare,强大的文件比较,常用边比较边同步。
文件管理:Total Commander,开机必打开。最常用文件查找、拷贝、比较,其他很多功能还没有怎么尝试。
编辑器:Ultra Edit,最常用十六进制查看,列编辑,偶尔用宏。
脑图:freemind。设计或写文档前先理理思路。
设计图:Viso。流程图,或看数据结构图。
串口调试:sscom,dnw,超级终端。
linux环境:cygwin。要在linux环境下交叉编译的时候。
虚拟机:VMWare,有时在linux下用一些cygwin没有装的或版本低的工具或命令。
配置管理:VSS最先接触,现在用StarTeam,功能太多太细还没有熟悉完。
bug管理: bugfree.非他莫属。帮助:MSDN。这个差点漏了。
英语:金山词霸。给变量或函数起名的时候常常要查一查。有没有谁知道好用的计算机英语专门软件?
还有个日程提醒的小软件ATnote。

其他不太常用的:EditPlus,VIM(当然也很强大)。

用得不好需要继续学的:bash,awk,sed,。。。

 

 

 

 

写代码 vim
读代码 source insight, kscope
编译器 gcc
文件merge ,meld
外语翻译 stardict
操作系统 ubuntu 8.04
模拟windows wine
远程操作 ssh+scp+ftp

 

debugger: od / windbg / softice
disassembler:IDA
editor:notepad++/editplus
boundschecker

 

TC 3.0
UltraEdit 32
SourceInsight
Debug32
BeyondCompare

 

emacs gdb 很希望学好emacs,一直没时间。习惯IDE了。

 

正则表达式算工具么?如果算的话,那得加上egrep,perl,sed……之类的东东。

 

Windows里用UltraEdit+gcc(CMD编译运行)

 

最近比较常用
Bookshelf Basic 3.0

 

版本管理用:CleanCase,CVS,VSS,SVN

pspad

Visual C++ 6.0 MSDN Visual Assist NotePad++ SnagIt 7 : 截图工具 Visio 2000 金山词霸2006 VMWare Beyond Compare:比较用 Dbgview: 调试用 AddComment:添加注释用 SVN:版本控制 procexp:查看进程

 

ResHack:资源修改,其实我最常用的是用它来替换位图/图标什么的,VC6支持颜色太低了。
W32dsm/C32Asm:这个就不用说了,大街都知道肯定不是做什么好事 -_-!

FileInfo
Hiew
WinHex
RadASM
UPX
FileMonitor
IceSword

 

写代码:Eclipse, vc, editplus, vim
读代码:Source Insight
文件比较:Beyond Compare
设计图:smart draw
串口调试:SecureCRT
linux环境:MinGW
虚拟机:VMWare
配置管理:svn  
bug管理: Mentis  
测试: TestLink  

Windows下:
(还算常用,不过一般也是在Linux下做的)

首先是环境:经过简单设置的CMD;
写代码、读代码:VIM(注意不是GVIM);
编译工具:NMAKE, CL, RC(98,2005,2009版都用);
调试:目前基本上一直用printf()和fprintf(),即使是图形界面SDK程序;
其他工具:貌似不怎么有别的了。

Linux下:

首先也是环境:bash, gnome-terminal, konsole等,都差不太多;
写代码、读代码:VIM(也不是GVIM);
编译工具:GNUmake, gcc;
调试:gdb;
其他工具:rm, mkdir, grep, awk, sed, lex, yacc(这俩不怎么常用)等等;

另:我一般是在Linux下进行Windows应用程序开发的,所以:
环境:bash, wine;
编译工具:GNUmake, winegcc, CL, RC(Visual Studio命令行工具);

个人感觉目前自己的环境相对于IDE至少更适合我,而且因为目前还不怎么用得到大量的代码自动生成(就是现在代码基本上都是自己写的),比如MFC什么的,所以这种命令行的开发环境还是相当不错的,体积小,灵活方便;尤其是当我将Windows应用程序开发挪到Linux下之后,可以使用人性化得多的Linux工具,包括GNUmake, 更好使的vim等等,所以个人感觉效率比VS的IDE还要高。

另外关于lint程序的问题,我一般的Makefile中变量CFLAGS必有的就是(对于gcc的)-Wall之类的开关,CL的警告级别我用的是4,而VC的IDE中默认是3;CL号称当警告级别开到4时表现“相当于lint程序的效果”,另外高版本的CL还有Wall选项,我相信这一定够了,——我的风格是尽量用轻量级的东西做。

貌似刚有个BUG,是VS2008中提取的工具cl, nmake, rc等等,不是2009,嘿嘿……
另外,关于Linux进行Windows应用程序开发,请参见本人拙作:
Windows、Linux下“交叉”编译环境的搭建和测试
说明:拙作中程序有个小BUG,目前已经解决,但时间原因等,文章中没有进行相应的更新;另没有将代码打包挂网,望各位谅解!

 

 

---->Dev-c++

  Windows平台下,一个类似VC、BCB的c++ IDE开发环境,属于共享软件。界面亲切优雅,size也不大,其4.9.x版有中文语言支持,无需汉化。编译器基于gcc,完全支持STL。但是对于规模较大的软件项目,恐怕难以胜任。可以从:http://www.bloodshed.net/dev/devcpp.html找到有关Dev-c++的有关信息。

  ---->Source Insight

  有着和Dev c++一样漂亮的界面,提供代码的编辑和察看功能,具有丰富的语法加亮功能,可以像VC一样自动弹出成员函数的提示,并具有快速方便的函数跳转功能(但是跳转速度似乎有点慢)。只是默认设置不适合时,需要仔细的调整和修改。无法查找经typedef之后的名字。

  辅助工具

  ---->Visual Assist

  VC IDE环境下的辅助编程工具,能识别各种关键字、函数、成员变量,自动给出tip,并自动更正大小写错误,标示拼写错误等。是VC开发的良好伴侣。 

  ---->Understand for C++

  一款c/c++IDE编程的辅助工具,支持反向工程,代码导向和一些统计功能,从http://www.scitools.com可以找到有关Understand for C++的详细信息。

  程序编辑器

  ---->EditPlus

  一款很不错的文本编辑软件,功能强大却又十分轻巧。支持不同语言的语法加亮,还有Project组织功能,具有丰富的自定义功能。通过设置User Tool,可以和其他语言编译器结合,形成一个简单的IDE。

  ---->Ultra Edit

  功能和EditPlus相当,通过脚本文件提供的配置功能可以定制编辑环境,但自6.0版以后一直没多大变化,就编程而言,自定义设置没有EditPlus方便。 

  ---->EMACS

  公认的世界上功能最多,最复杂的文本编辑器,其实也可以当作程序员用的编辑器。

  ---->Visual Slick Edit

  一个功能强大的程序员用编辑器。最值得一提的是其定制功能,很好用,可以和EMACS相比。自带了一套PCODE解释器,用c的语法,还可以挂接动态库。配合mingw一起使用很方便。从http://www.slickedit.com可以找到有关SlickEdit的详细信息。

  ---->IQEdit

  全功能的程序员用编辑器,界面很漂亮,从http://pwksoftware.com可以找到有关IQEdit的详细信息。

  UML/建模

  ---->Rational Rose

  强大的建模工具,早已“家喻户晓”,功过自然不必多加评说了。从http://www.rationalsoftware.com.cn可以找到有关Rational Rose的详细信息。

  ---->Visual Modeler 

MS Visual Studio 6.0所附的小工具。属于Rational和MicroSoft合作的战略产品,是Rose的简化版。
---->Visio

  Microsoft的建模工具,感觉更人性化一些,但功能没有Rose多、强、专,支持正向的代码生成,以及对代码的反向工程。

  ---->Together

  另一款功能强大的建模工具,用java编写而成,口碑不错,不过速度稍稍慢了一些。从http://www.togethersoft.com可以找到有关Togather的详细信息,另外,以下网址提供了一个有关Together的教程:    http://www.cc.puv.fi/~tka/kurssit/Tietojarjestelmien_suunnittelu/together/TCCGuide6

  ---->Visual UML

  支持多种语言类型,比如:VC、VB、DELPHI、CORBA IDL等,可以直接从UML设计图生成代码,简单易用,完全适合Personal use,界面也很清爽。从http://www.visualObject.com可以找到有关Visual UML的详细信息。

  ---->SmartDraw

  通用图表制作软件,可以用来制作组织机构图、流程图、统计图表等。随带有图库,基本满足制作各类图表的需要。从http://www.smartdraw.com可以找到有关SmartDraw的详细信息。

  ---->PlayCase

  国产面向对象的建模软件,兼容UML和IDEF,轻量级软件,只是界面看起来有点简朴,乃是高展先生用Delphi完成的。

  版本控制

  ---->ClearCase

  Rational的版本控制管理软件,功能强大,可以控制多种类型的文档,甚至包括Word、Excel、PowerPoint文档。但使用复杂,不易上手,且不是免费软件。

  ---->CVS

  为基于Web的分布式协同开发提供了版本控制管理手段,且是免费软件,可以通过脚本定制功能。但在权限控制方面功能相对较弱。

  ---->VSS

  微软的版本控制管理工具,功能相对简单,适合于小型团队开发,将其整合到微软的其他开发工具中,使用起来十分方便。

  ---->SourceOffSite

  微软为开发人员提供的远程访问VSS数据库的工具,使数据库得以远程更新,以支持远程办公。其他的版本管理工具还包括:PVCS、VCS、RCS等。

  XML

  ---->expat

  用于读取和处理XML文档的c函数库,最初是James Clark的个人作品,简单轻巧,且速度快。但支持的编码方式有限,最遗憾的是不支持中文。从http://expat.sourceforge.net可以找到有关expat的详细信息。

  ---->xml4c

  IBM的XML Parser,用c++语言写就,功能超级强大。号称支持多达100种字符编码,能够支持中文,适合于大规模的xml应用。若只是很小范围的应用,则非最佳选择,毕竟,你需要“背负”约12M左右的dll的沉重负担。从http://www.alphaworks.ibm.com/tech/xml4c可以找到有关xml4c的详细信息。 

  ---->Xerces c++

  Apache的XML项目,同样是c++实现,来源于IBM的xml4c,因此编程接口也是和xml4c一致的。但是目前只支持少数的字符编码,如ASCII,UTF-8,UTF-16等,不能处理包含中文字符的XML文档。从 http://xml.apache.org/xerces-c可以找到有关Xerces c++的详细信息。

  测试

  ---->CppUnit

  一个c++的单元测试框架,可以通过派生测试类的方式,定制具体的测试方案。xUnit家族的一员,从JUnit移植而来,JUnit是Java语言的单元测试框架。从http://cppuint.sourceforge.net可以找到有关CppUint的详细信息。

  ---->Rational ROBOT

  Rational的自动化测试工具,通过编写脚本的方式提供自动化测试特性。其GUI方式的脚本录制功能,有助于对GUI软件进行功能测试;其VU方式的脚本录制功能,有助于测试某些软件的数据通讯功能。

  ---->Rational Purify

  同样是Rational的自动化测试工具,不需要被测程序的源代码,可以用来检查内存访问错误、Windows API调用错误等,以完成软件的可靠性测试,属于白盒测试。

  其他的Rational测试工具还包括:TestFactory、PureCoverage、TestManager等。 

  日志

  ---->log4cpp

  一个用于日志记录的c++函数库,可以将内容以定制的方式记录到不同的目的地,比如:文件、控制台syslog等,同时还可以通过控制记录级别来屏蔽掉某些无关记录。从http://log4cpp.sourceforge.net可以找到有关log4cpp的详细信息。

  注释

  ---->Doc++

  注释文档生成工具,根据源程序中的文档注释,可以输出TeX和HTML格式的文档。除了支持c/c++语言外,还支持IDL和java。仅提供命令行使用方式。从http://docpp.sourceforge.net可以找到有关Doc++的详细信息。

  ---->Doxygen

  注释文档生成工具,较之Doc++功能更为齐全,可以生成包括HTML、PDF、RTF在内的多种格式的文档,并有GUI界面,除了支持c/c++语言外,还支持IDL、java、PHP、c#等。从http://www.stack.nl/~dimitri/doxygen可以找到有关Doxygen的详细信息。

 

10 个免费的 C/C++ 集成开发环境

一般一个特定的IDE是负责处理一种编程语言,但也有一些支持多种编程语言的 IDE,例如 NetBeans,Microsoft Visual Studio,MyEclipse,WinDev和Xcode等等。IDE 的宗旨是提供了一个强大和易于使用的用于创作,修改,编译,部署,调试软件,并增加开发人员的生产力的环境。
今天,我们将为程序员分享一些最好的C和C++的免费IDE。
1) Codeblocks 
Code::Blocks (codeblocks)是一个开源、免费、跨平台的c++ IDE。官方网站上称其能满足最苛刻的用户的需求。虽有点夸张,但既然敢这样说,也说明它的功能肯定不差。可扩展插件,有插件向导功能,让你很方便的创建 自己的插件。Code::Blocks是用c++编写的(用wxWidgets库),捆绑了MinGW编译器。

2) kDevelop KDevelop-Project诞生于1998年,其目的是为KDE提供一个易用的集成开发环境(Integrated Development Environment)。此后,KDevelop IDE采用GPL进行发布, 它支持很多 程序设计语言.

3) Pellesc Pelles C是一款windows下的C IDE,支持调试,且为免费。
它有一个高效率的链接器,目前已被广泛采用为各种语言的后台链接器使用LCC作为编译器
并且完整支持win32编程,支持任何API调用,包含所有winAPI的库且含有完整 C Runtime Library。
4) Anjuta Anjuta是一个C/C++ IDE,它最大的特色是灵活,同时打开多个文件,内嵌代码级的调试器(调用gdb),应用程序向导(Application widzards)可以方便的帮助你创建GNOME程序而不需要你自己写一些与你兴趣无关的代码。
5) Bloodshed Dev-C++是一个Windows下的C和C++程序的集成开发环境。它使用MingW32/GCC编 译器,遵循C/C++标准。开发环境包括多页面窗 口、工程编辑器以及调试器等,在工程编辑器中集合了编辑器、编译器、连接程序和执行程序,提供高亮度语法显示的,以减少编辑错误,还有完善的调试功能,能 够适合初学者与编程高手的不同需求,是学习C或C++的首选开发工具!多国语言版中包含简繁体中文语言界面及技巧提示,还有英语、俄语、法语、德语、意大 利语等二十多个国家和地区语言提供选择。
6) Eclipse CDT Eclipse CDT 是 Eclipse 插件,它将把 Eclipse 转换为功能强大的 C/C++ IDE。它被设计为将 Java 开发人员喜爱的许多 Eclipse 优秀功能提供给 C/C++ 开发人员,例如项目管理、集成调试、类向导、自动构建、语法着色和代码完成。当 Eclipse 被用作 Java IDE 时,它将利用 JDK 并与之集成。同样地,CDT 将利用标准的 C/C++ 工具并与之集成,例如 g++、make 和 GDB。这使得 CDT 在 Linux 中变得非常流行,这些工具都可在 Linux 中使用并用于大多数 C++ 开发。可以在 Windows 上设置 CDT 以使用相同的工具。
7) Visual Mingw 
Visual-MinGW 是一个专门为MinGW所设计的IDE。如果,你曾经用过VC++ 6.0这个IDE,你的第一感觉就是,Visual-MinGW和VC++ 6.0非常相似。所以,对于曾经用惯VC的朋友们来说,Visual-MinGW不失是一个好的选择。然而,Visual-MinGW的开发与更新似乎并 不积极。因此,还有不足的地方。Visual-MinGW的理念是提供一个高效的,快速的创建代码的IDE。
8) Ecere 
eCere,一门“新”的编程语言,以下简称为“eC”。
eC,是一位加拿大人jerome历时十二年开发的一门编译型编程语言,拥有C++项目的性能、Java的跨平台性以及Python语法的简洁性。 不似Object C、C++和C#,eC更像是一个C语言的Shell,他将程序员与C之间的复杂性隔离开来,还有就是他在跨平台支持方面要更优越一些。eC不仅给传统的 C语言引入了完整的OO编程实现,其真正强大之处在于作者目前所实现的C库,包括一个内建的3D引擎实现(支持Direct3D和 OpenGL)和一套接近于VB的GUI库实现以及对网络编程的支持。
9) Relo 
Relo是一个帮助开发人员研究大型代码库的好工具,它能够一步步的跟踪你所展开的代码包,并快速生成类似UML的类图。
10) Ultimate++ U++是一个开源的跨平台C++ RAD平台,作者从98年就开始开发,到今年持续了十一年了。U++一直都是一个非常非常小众的开发平台,几乎没什么人用,与当今火红的几个开源C++ Framewrok比如wxwidgets, QT等相比,它实在是被人冷落的可以。换做旁人早就歇菜了,在SourceForge上搜一下,能搜出一堆半路夭折的C++Framework。而U++ 却仍在不断的开发中,可算是特立独行。

 

c,c++,嵌入式开发工具,环境