以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 操作系统原理 』 (http://bbs.xml.org.cn/list.asp?boardid=63) ---- [分享]Linux PC开发环境 (http://bbs.xml.org.cn/dispbbs.asp?boardid=63&rootid=&id=56704) |
-- 作者:longshentailang -- 发布时间:12/13/2007 1:18:00 PM -- [分享]Linux PC开发环境 软件集成开发环境(代码编辑、浏览、编译、调试) Emacs http://www.gnu.org/software/emacs/ Source-Navigator 5.2b2 http://sourceforge.net/projects/sourcenav Anjuta http://anjuta.sourceforge.net(可用yum安装) 代码索引工具 Cscope http://cscope.sourceforge.net/ KScope http://www.kde-apps.org GLOBAL http://www.gnu.org/software/global/(可用yum安装) 调试器(GNU gdb的GUI前端) DDD http://www.gnu.org/software/ddd/ Insight 6.4.0 http://sourceware.org/insight/ KDbg http://www.kdbg.org/ 评测器(内存、性能、覆盖等的profiler,类似IBM Purify) Valgrind http://www.valgrind.org/,FC5自带3.1.0-2 ggcov(GNU gcov的GUI) http://ggcov.sourceforge.net/ kprof(GNU gprof的GUI) http://kprof.sourceforge.net/ KCachegrind http://kcachegrind.sf.net BoundsChecking http://www.doc.ic.ac.uk/~phjk/BoundsChecking.html 代码静态检查工具(类似Windows平台的PC-Lint) Splint http://www.splint.org/(可用yum安装) flawfinder http://www.dwheeler.com/flawfinder/ 代码静态测量工具 --暂缺,Windows上非开源的LineCount(http://liangs.autodebug.com/)统计C/C++/Java代码还凑合。 PyMetrics(http://sourceforge.net/projects/pymetrics/)测量Python代码复杂度。 http://www.chris-lott.org/resources/cmetrics/罗列了好些C static metric tools。 软件构建系统(build system) SCons http://www.scons.org/(用yum安装的版本太低) CMake http://www.cmake.org/ GNU Make http://www.gnu.org/software/make/ 交叉工具链 crosstool http://www.kegel.com/crosstool/ 代码版本控制系统及相关工具 Subversion http://subversion.tigris.org (用yum安装) WorkBench http://pysvn.tigris.org/(pysvn的附带物) StatSvn http://svn.statsvn.org/ mpy-svn-stats http://mpy-svn-stats.berlios.de/ ViewVC http://viewvc.tigris.org/ 测试框架 CppUnit http://sourceforge.net/projects/cppunit CUnit http://cunit.sourceforge.net/ 代码差异工具(比较/制作和应用补丁) GNU diffutils http://www.gnu.org/software/diffutils/ kdiff3 http://kdiff3.sourceforge.net/或者http://www.kde-apps.org(可用yum安装) 代码在线文档 doxygen http://www.stack.nl/~dimitri/doxygen/ 离线文档 DocBook http://www.docbook.org XMLMind http://www.xmlmind.com/ 代码格式化 astyle(Artistic Style) http://astyle.sourceforge.net/ indent http://www.gnu.org/software/indent/ UML建模 ArgoUML http://argouml.tigris.org 软件工程事务(BUG等)跟踪(类似IBM ClearQuest) 打字练习软件 Python库/工具 python SIP/MGCP stacks |
-- 作者:longshentailang -- 发布时间:12/13/2007 1:19:00 PM -- C/C++库/工具 wxWidgets http://www.wxwidgets.org/(可用yum安装其GTK绑定,名称wxGTK和wxGTK-devel) STL-Boost中文站点 http://www.stlchina.org/ NullHttpd http://nullwebmail.sourceforge.net/httpd/ PCRE http://www.pcre.org/(Perl正则式兼容的,Windows版http://gnuwin32.sourceforge.net/packages/pcre.htm) GNU Regex http://directory.fsf.org/regex.html(GNU/Linux环境常用的两个正则表示式包就是PCRE和GNU Regex,FC5上都装了) Libxml2 http://xmlsoft.org/(The XML C parser and toolkit of Gnome) Xerces-C++ http://xml.apache.org/xerces-c/(A validating XML parser written ina portable subset of C++ by the Apache project.) expat http://expat.sourceforge.net/(XML parser written in C) ACE http://www.cs.wustl.edu/%7Eschmidt/ACE.html(跨平台C++库/框架) APR http://apr.apache.org/(跨平台C库) NSPR http://www.mozilla.org/projects/nspr/(跨平台C库) KXML Editor http://www.kde-apps.org SIP协议栈相关 ABNF工具 跨平台的万能编辑器Emacs配合CEDET/ECB/Cscope/GDB-UI这4个插件之后就成了一个完整的IDE。接触Linux几年来总是对它崇敬畏惧,这两天下决心学习了一下,感觉(1)“学习曲线”并不是以前想象的那么“陡”;(2)编辑功能确实像传说中的那么强。对它稍作定制,就能在写代码过程中自动应用特定编码风格。http://www.chris-lott.org/resources/cstyle集中了许多C/C++风格规定。 ;; Load ECB ;; Load Cscope ;; Some shortcuts
FC4上面安装Anjuta2.0.2的过程真是太艰难了。(1)Anjuta2下载页面下方给出了Anjuta2依赖的一些包的名称和位置,但这个提示并不够显眼(2)把Anjuta网站提供的gdl下载安装后要配置pkg-config依赖的环境变量exportPKG_CONFIG_PATH= /usr/local/lib/pkgconfig(gdl-1.0.pc所在目录)。而某些版本的gdl安装之后并不产生相应的.pc文件!(3) FC4的glib版本太低,www.gtk.org给的链接用Firefox下载不了,用curl搞定了。(4)devhelp 0.11 --> Gtk+2.8 --> Pango with Cairo. 在FC5上config Source-Navigator 5.2b2一直到5.1.0都失败: Source-Navigator自2004年3月发布5.2b2以来没有再更新。http://developer.berlios.de/projects/sourcenav/尝试继续维护它。 Linux上除了SourceNavigator之外,另一个较好的C代码编辑、浏览工具是KScope在http://kscope.sourceforge.net/。最新版1.3.4把我的GCC(FC4自带)版本列入黑名单。FC5上安装1.4.0成功。KScope是Cscope的前端,它的代码导航、外观、语言支持等各方面都较SourceNavigator逊一筹。 GNUGLOBAL is a source code tag system that works the same way acrossdiverse environments. You can locate a specified object in the sourcefiles and move there easily. It is useful for hacking a large projectcontaining many subdirectories, many #ifdef and many main() functions.It is similar to ctags or etags but is different from them at the pointof independence of any editor. It runs on a UNIX(POSIX) compatibleoperating system like GNU and BSD. 当前Linux平台上的GDB前端有DDD,Insight,KDbg等。DDD是一个非常流行的调试器,Fedora Core4附带了它。Insight是Redhat的GNUPro开发套件之一,是gdb的Tk包装(版本号与gdb版本号完全一致),可与 SourceNavigator集成。KDbg是gdb的KDE风格的GUI。DDD虽然GUI稍稍难看(Tk和KDE风格我也不太喜欢,基于KDE的应用在关闭时调用KNotify太慢了),但功能最强。三者中只有DDD支持的后台调试器不局限于gdb;也只有DDD提供了gdb的CLI,这使得其非常灵活(例如增加一个函数断点,命令breakfunc就OK,而不像用菜单指定文件名和行号那样烦琐)。Insight调试多线程程序时暂停常常使得 Insight失去响应。KDbg是gdb的前端,可以浏览过去打开的源文件,这是个优势。就像其简介中所说的,你不能期望它能做的比gdb更多,所以它在许多方面都比DDD差:(1)查看变量的值,如果变量形式较复杂,则鼠标放在其上不能显示其值或者显示其值为0,只得麻烦地写一个监视表达式。(2)不能像DDD的数据窗口那样可视化地显示一个结构体、数组,必须为特定成员写一个完整的监视表达式。(3)调试过程中不能修改变量值、挪动执行点(这些功能有时很有用)。(4)主窗口以及打开的各个窗口(本地变量、内存等)在FC5的任务面板上缩成一个标签,切换起来很是费事。 |
-- 作者:longshentailang -- 发布时间:12/13/2007 1:20:00 PM -- TotalView(http://www.etnus.com/)号称自己是多核时代地球上最好的多线程/进程调试器。有试用版,不过我想不出来我以后什么时候会觉得gdb不够强。 Valgrindis an award-winning suite of tools for debugging and profiling Linuxprograms.ElectricFence(http://perens.com/FreeSoftware/ElectricFence/)声称自己不如Checkergcc(http://www.gnu.org/software/checker/checker.html),而Checkergcc又由于Valgrind的出现而退役。一句话:当前大家公认Valgrind是最接近IBM商业产品Purify的开源的内存/性能评测工具。 C/C++代码覆盖、性能profiling工具一般基于GNU的gprof和gcov。(还有一类基于模拟器的profiling工具,如 IBMPurify,Valgrind。KCahcegrind是Callgrind,OProfile等的GUI前端。)我知道的有ggcof, kprof,lcov。lcov是Linux TestingProject工具之一,见http://ltp.sourceforge.net/tooltable.php上的工具列表。这儿还有压力测试、WEBServer测试等许多工具。在http://www.testingfaqs.org分类归纳了多种软件测试工具。 运行期间栈以及数据段的溢出比堆溢出更难以发现、定位。绝大多数安全工具聚焦于防止栈溢出覆盖函数返回地址从而阻止了可能的攻击。Avaya 实验室发布libsafe2.0,增加了防止格式化字符串攻击功能,目前可以保护系统免受两种攻击'buffer overflow' and 'formatstring'.Libsafe在自己的strcpy/printf等函数即将导致栈帧处被覆盖时终止程序,从而防止被入侵。其技术思路是:采用Interposition技术用自己的strcpy/printf等函数替换C标准库函数(ElectricFence也采用此技术替换堆内存相关函数);在自己的函数中找到FP位置(函数_libsafe_stackVariableP()),同时判断给定指针是栈上还是堆上;堆上指针直接调用C标准库函数;栈上指针则在边界检查通过后调用C标准库函数,检查未通过就exit。很多细节限制了其只能用于特定平台Linux并且被保护软件是用 gcc编译。但我的目的是发现所有数组越界错误,要求更严格。可能只有GCC的补丁BoundsChecking(http://www.doc.ic.ac.uk/~phjk/BoundsChecking.html,在SF上有下载http://sourceforge.net/projects/boundschecking/) 能做到这一点。当前版本(forGCC4.0.2)仅支持C。我反汇编了它编译出来的executable,发现栈上的字符数组分配由10多条指令加 call__bounds_add_stack_object来做,在最后多分配了1字节用于保护。堆上内存分配的函数malloc也以 __bounds_check_malloc代替。这类补丁最大的问题是产生的executable运行速度奇慢,尤其是指针操作密集的测试成百上千倍地慢。 Splint is a tool for staticallychecking C programs for security vulnerabilities and coding mistakes.With minimal effort, Splint can be used as a better lint. If additionaleffort is invested adding annotations to programs, Splint can performstronger checking than can be done by any standard lint. Flawfinder,a program that examines source code and reports possible securityweaknesses (``flaws'') sorted by risk level. It's very useful forquickly finding and removing at least some potential security problemsbefore a program is widely released to the public. Flawfinder iswritten in Python. 除了Splint和Flawfinder之外,常用的开源的C/C++代码静态检查工具还有RATS(http://www.fortifysoftware.com/security-resources/rats.jsp),ITS4(http://www.cigital.com/its4/)。此外,Open Source QualityProject(http://osq.cs.berkeley.edu/)组织了好几个这方面的项目。 SCons是一个与GNUmake, qmake, CMake以及Ant类似的软件构建管理工具。SCons is a next-generation softwareconstruction tool, or make tool--that is, a software utility forbuilding software (or other files) and keeping built softwareup-to-date whenever the underlying input files change. SCons可以结合distcc (http://distcc.samba.org/)和ccache节省大型软件项目的编译时间。 CMake(http://www.cmake.org) 是一个Makefile生成器(作用相当于GNU atuotools链),它能为许多nativebuild system(如GNU make, MS VC6, MAC OSXcode等)生成配置文件。KDE4这个大型软件初期尝试了SCons以解决GNUatuotools链的各种弊端,不过最终选择了CMake。其中的缘由请看"Why the KDE project switched toCMake", http://lwn.net/Articles/188693/。 "跨平台的编译工具,其中最有名的两个是 CMake 和 SCons。CMake 和 SCons大概代表了新一代跨平台编译工具的两种方向。第一种(CMake) 是延续并改良传统 automake, autoconf 工具链,将之合为一体,但最终仍然生成 Makefile, VisualStudio 的 .sln,Xcode 的 .xcodebuild 文件,依赖现有编译工具 (make, nmake, vcbuild,xcodebuild) 来编译;第二种则是完全消除现有编译工具的调用,直接调用编译器,scons就属于这一类。从人气上来说,反倒是走改良路线的 cmake 比 scons 好一些..." 按照《BuildingEmbedded LinuxSystems》极其详尽的指导,为嵌入式系统开发构建GNU交叉工具链也很困难:gcc/glibc/binutils/kernel版本之间的配合,特定版本的特征(如GCC3.2开始应该这么做而不是那么做),还要考虑补丁...手工来做非常耗时且不大可能成功(碰到问题看文档和使用 Google也不一定能搞定)。用crosstool(http://www.kegel.com/crosstool/,另外在http://www.freaknet.org/martin/crosstool/有一些解释、补丁等),只需要你有个LinuxPC能上网,一个命令(如demo-arm.sh)下去就行。有时间可以深入研究一下这个工具。 Building a gcc / glibccross-toolchain for use in embedded systems development used to be ascary prospect, requiring iron will, days if not weeks of effort, lotsof Unix and Gnu lore, and sometimes willingness to take dodgyshortcuts. 编译Linux内核,如果目录层次过深,可能出现如下错误: [使用distcc 缩短编译时间]distcc is a program to distribute builds of C, C++,Objective C or Objective C++ code across several machines on a network.distcc should always generate the same results as a local build, issimple to install and use, and is usually much faster than a localcompile. patch文件中指令都是面向单个文件内容比较的:增加的文件所在目录不存在则创建它;打补丁后空文件及其所有空的祖先目录都被删除。请看patch手册中选项"-E"和Caveats一节。 Kompare是KDE自带的一个文件/目录比较工具,比较大目录太慢了,也没有合并功能。我上网了解到在这方面的好工具有Kdiff、Meld和 xxdiff。Meld的没有做汉化,许多菜单、按钮的文字显示不出来或者是乱码。xxdiff还没有尝试过。Kdiff3还有windows版本。 Kdiff3 is very good for large merges, automatic merge facility. Subversion(简称svn)是经典的开源的版本控制系统cvs的替代物。有个工具cvs2svn可以转换CVS库到SVN库。 StatSvn基于著名的StatCvs的SVN版本,开源,以Java编写。它能够对整个SVN库做统计,包括:每作者提交数、拥有代码行数等等。试用了一下,感觉很不错!(StatSvn手册指出:由于SVN日志文件的特性,第一次统计较慢。我针对LR3615_WEBCAM工程[10万多行]第一次统计,耗时70多分钟。)另外要注意:FC5默认JRE(即gij)没有提供Graphics2D等库,这将导致JVM抛出异常。安装SUN提供的 JDK1.5.0即可解决此问题。 mpy-svn-stats:Very simple and easy to use Subversion statistics generator written inPython.(http://mpy-svn-stats.berlios.de/)是另一个Subversion库分析工具。SipX项目的统计信息(http://www.voiceworks.pl/sipxpbx-stats/)就是由此工具生成的。 ViewVC是一个基于web的CVS、SVN代码仓库浏览工具。它最早是从cvsweb发展而来的,cvsweb是用Perl编写的, viewvc原作者GregStein发现很难在此基础上扩展新的功能,于是用Python重新实现,并命名为viewcvs。后来又加入了对SVN代码仓库的支持,为反映这一变化viewcvs重命名为viewvc。viewvc可以以独立的程序运行(standalone.py),也可以以cgi方式运行于支持CGI的web服务器,还可以以ASP模式运行于IIS,以mod_python模式运行于Apache。viewvc通过本地文件系统访问代码仓库,所以它必须安装在运行CVS或SVN代码仓库的同一服务器上。运行viewvc需要很多第三方软件,具体需要的依赖软件取决于启用功能和运行平台两大因素。viewvc除了支持CVS代码仓库浏览功能,还支持 此外还有FishEye(http://cenqua.com/fisheye/)等商业的代码库分析工具。 |
-- 作者:longshentailang -- 发布时间:12/13/2007 1:21:00 PM -- 程序代码美化工具astyle可美化C/C++/Java。astyle有几个成套的的风格定义:ansi java linuxkr...不必记住复杂的缩进具体选项。indent(gcc附带的一个标准工具)只能美化C代码。专门针对Java代码的有 CheckStyle(免费,http://checkstyle.sourceforge.net/)和Jacobe(商业,http://www.tiobe.com/jacobe.htm)等。 astyle 1.19有个BUG:如果#ifdef 下一行以{开头,则{被调整到#ifdef行最后,这必然导致编译失败。 indent也不完美:(1)处理dspcode.h类似文件时间极长,把数组每一项单独作为一行导致头文件行数极多。Frank说处理 dspcode.h类似文件之后导致编译失败。(2)在#else之后自动加了/*,随后多了一行*/。(3)有时候格式化比较乱甚至导致编译失败。 Windows平台上有试用版的SourceFormatX。 结论:不要企图把整个工程的源代码一次性格式化,哪个C文件格式实在太乱了再说。 #/bin/sh # -kr Kernighan & Ritchie style # -nbad -bap -bbo -nbc -br -brs -c33 -cd33 -ncdb -ce -ci4 -cli0 # -cp33 -cs -d0 -di1 -nfc1 -nfca -hnl -i4 -ip0 -l75 -lp -npcs # -nprs -npsl -saf -sai -saw -nsc -nsob -nss # -nbad The '-bad' option causes `indent' to force a blank line after every # block of declarations. The `-nbad' option causes `indent' not to force # such blank lines. # -cliN Case label indent of N spaces. # -bliN Indent braces N spaces. # -cbiN Indent braces after a case label N spaces. # -nut Use spaces instead of tabs. indent -kr -bli0 -cbi4 -nut $1 Bison 是替代yacc的语法解析器. 有时间研究一下!还有Boost Spirit框架! pyserial是一个Python串口库,包装了Python标准库termios。虽然用C操作串口并不难,但要考虑一些细节,远不如用pyserial简单和方便。在编写测试代码、原型代码涉及串口通信时可以考虑它。 Snack是一个Python库,用于创建简单的基于文本的用户界面。红帽子的Linux在安装、配置期间出现的那些非常像GUI但又不具有普通窗口控制功能的界面,就是基于文本的用户界面,它们使用了Snack。例如:配置系统时区的命令/usr/sbin/timeconfig包装了Python脚本 /usr/share/system-config-date/timeconfig.py,时区列表 /usr/share/zoneinfo/zone.tab。 twill is a simple scriptinglanguage intended for programmatic or automated browsing of Web sites.twill strives to be a complete implementation of a Web browser,omitting only JavaScript support. It includes support for cookies,basic authentication, and most (all?) HTTP trickery, includingHTTP-EQUIV redirects. Please let me know if you find a situation whereit doesn't work! It's written in Python. It's Python API is for Pythonprogrammers interested in using twill from Python. The Python Imaging Library (PIL) adds image processingcapabilities to your Python interpreter. This library supports manyfile formats, and provides powerful image processing and graphicscapabilities.SVN统计工具mpy-svn-stats的图片操作基于它创建RGB模式的PNG图片。Python图像处理方面的极好文章:Python andImageprocessing位于http://python.cn/pipermail/pytho ... October/016910.html。 ReportLab Toolkit是用于创建PDF文档的Python工具包,依赖于PIL。 Trac:Simple, web based, intuitive bug and change tracking. Has a goodinterface with Subversion. Click around and view a current projectusing TRAC<http://trac.wordpress.org/>. wget的"-r"选项递归方式下载整个web站点,“-nc”表示不要重复下载同一文件,“-X”的选项值是要排除的目录列表。 cURL is acommand line tool for transferring files with URL syntax, supportingFTP, FTPS, TFTP, HTTP, HTTPS, TELNET, DICT, FILE and LDAP. curlsupports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTPform based upload, proxies, cookies, user+password authentication(Basic, Digest, NTLM, Negotiate, kerberos...), file transfer resume,proxy tunneling and a busload of other useful tricks. FedoraCore操作系统提供了ftp客户端工具/usr/bin/ftp,但是这个工具使用起来不是非常方便。本文介绍一种在世界上广泛使用的 ftp命令行客户端软件ncftp,它提供更方便、快捷、强大的功能,使我们在使用ftp服务的时候更得心应手。ncftp广泛应用于各个版本的 Linux上。ncftp与传统的ftp相比,主要有以下改进或变化: wxDFast也是一个图形化的下载工具,支持多线程、断点续传等功能,基于wxWidgets,最大特点是下载速度快。 CHM是Windows平台帮助文件标准格式,有许多电子书籍(甚至许多关于Unix/Linux的)以此格式发布.Linux平台上有一些阅读/编辑此格式的工具.KchmViewer基于Qt,独立于KDE/Gnome.我在make时参照README加上了选项"--with-kde"才编译成功, 否则因为ld找不到Xext库而失败.可以把.chm格式关联到KchmViewer,在FedoraCore4下面这么做:右键单击一个文件,然后选属性,再点打开方式,选择添加,然后在自定义命令里面自己写上kchmviewer即可. mht是IE另存的一种Web Archive格式,它将html/图片等存储在单一文件内.Linux平台的kmhtConvert可以将其转化为Konqueror(KDE的一个浏览器)支持的war格式(再把此格式关联到Konqueror).Konqueror中这样创建war:工具->存档网页.kmhtConvert 实现了以下格式的相互转化*.mhtml, *.mht,*.eml, *.war).大家都知道网页格式一般为.htm,.html,.shtml三种格式,其中三种格式的网页代码都是通用的.SHTML和HTML的区别在于shtml是一种采用了Server SideInclude(SSI,服务器端包含指令)技术的文件。大多数(尤其是基于Unix平台)的WEB服务器如Netscape EnterpriseServer等均支持SSI命令。 和Windows相比,Linux上的词典、翻译工具比较少。星际译王StarDict是利用GTK(GIMPTOOLKIT)开发的国际化的、跨平台的词典工具,它也可以安装在Windows上,不过,安装前首先要安装GTK+环境。星际译王的词典要在安装完程序之后才能下载和设置。官方网站上的这个页面:http://stardict.sourceforge.net/Dictionaries_zh_CN.php,就有很多中英词典的下载地址。Toinstall these tarball dictionaries, do this1)tar -xjvf a.tar.bz2(2)mv a /usr/share/stardict/dic.我下载安装了朗道英汉字典5.0,朗道汉英词典5.0,牛津辞典。 ArgoUML是100%基于J2SE开发的UML建模工具,支持UML1.4所有7类图,支持导入导出XMI,支持导出成PNG等多种图形文件,支持代码生成,不支持逆向工程,不支持C++。FedoraCore4附带的Umbrello是基于KDE的,在保存和加载XMI文件时很慢。编译1.5.1时居然提示我编译器版本被它列入了黑名单以防止KDE崩溃,要求我更换其他版本编译器。gcc (GCC) 4.0.0 20050519 (Red Hat4.0.0-8)。我通过SVN下载了gcc,但担心把系统搞坏了,不敢弄。 jEdit是基于Java的文本编辑器(自然地在windows,Linux上都可用),支持多种语言的语法着色,就象Windows上的 UEStudio和EditPlus一样可以作为一个简单的IDE.有许多插件可用.(FedoraCore4附带JRE版本1.4.2, jEdit1.4.3pre3运行不起来:Out of memory...。从SUN下载JDK1.5或者JRE1.5安装即可) 这儿是Linux内核2.6完整的UML文档,但似乎不实用:http://www.softwarerevolution.com/jeneral/open-source-docs.html 永中Office2004与MSOffice文档格式兼容性很好。有Linux平台的试用版免费下载。在FederaCore4上安装失败,提示找不到 "libgnomeui.so.32"。把FederaCore4光盘上的ORBit-0.5.17-15.i386.rpm和gnome-libs- 1.4.1.2.90-46.i.386.rpm安装上去就OK了。永中Office要安装自带的JVM,不管PC上是否安装过。FC5上安装永中 20004Trial过程崩溃;安装2007Beta版重是在停留在解压缩阶段,按照永中论坛的一个帖子搞定了。 除了FC系统自带的up2date以外,我们还有更为强大的在线升级工具 yum 和 apt-get可用。apt与yum相比,apt历史更久,且不限于RPM格式的包,可用于多个Linux Release。yum 工具是Fedora推荐使用的在线升级更新软件包的工具,在安装系统时,一般都是默认安装。主要资源有 freshrpms.net和rpm.livna.org。例如安装anjuta: yum install anjuta。帮助:yum --help。 WireShark(原名Ethereal)是个功能强大的协议分析器。最重要的特性:(1)Capture Filter,(2)DisplayFilter,(3)Capturer停止条件(时间、包数、大小),CaptureFile存储形式(多文件循环利用)(这个功能比Windows上的安捷伦Agilent还要强!我用了0.99.3及之前版本,此功能经常导致软件崩溃)(4)允许指定接口抓包,常用的接口包括以太接口、Lookback接口、所有接口(5)支持tcpdump等许多其他协议分析器的记录格式,(6)支持多达759种协议,(7)捕获报文能够全部或部分存储、导出、打印,(8)可运行于所有流行的OS上。Ethereal从版本0.99.1开始更名为WireShark。可以同时运行多个Wireshark在同一接口上抓包--这样便于从多个角度观察网络流量,例如区分多个IPCam的流量以便于判断哪个断线了。鉴于 WireShark的多文件循环存储功能有BUG,可以用tcpdump或者命令行方式的Wireshark,直接把报文打印到stdout,不需要考虑尺寸限制--缺点是浏览报文不如GUI方式直观。 Linux是很不错的OS,但现实环境有许多平时工作要用的软件都必须在Windows环境下运行,所以还是没有办法使用Linux。其实安装了WINE 即可使用exe档,也可以使用ie、word、execl、powerpoint、photoshop、adobeacrobat...... 偶然发现了一个内部网搜索引擎ht://Dig在http://www.htdig.org/。http://www.gnu.org/就是用它作为站内搜索引擎。这个软件在做web站点时可能有用。 今天偶然发现有Fortran和Pascal代码到C代码转化工具f2c和p2c。记得以前听说过Java代码到C#代码的转化工具。“如果你有一些用 FORTRAN 或 Pascal写的代码要用 C 重写的话, f2c 和 p2c 对你非常有用. 这两个程序产生的 C 代码一般不用修改就直接能被 GCC 编译.如果要转换的FORTRAN 或 Pascal 程序比较小的话可以直接使用 f2c 或 p2c 不用加任何选项. 如果要转换的程序比较庞大,包含很多文件的话你可能要用到一些命令行选项. ” Zope,Z Object PublishingEnvironment,它即是http服务器,又是数据库,又包含脚本编程语言。Zope是一种支持多种平台开源的Web应用服务器软件,它提供了完善的功能和强大的动力,适用于构建各种类型的Web应用,从小型网站到企业级分布式网络应用都有Zope的用武之地。Zope在许多方面都超过了ASP、PHP、JSP等传统方法,是一套优秀而完整的解决方案。本专题详述Zope的应用开发,带您领略Zope的强大功能。 Virtual Network Computing (VNC) allows one to viewand operate the console of another computer remotely accross thenetwork.RealVNC(www.realvnc.com)和TightVNC(www.tightvnc.com) 在Linux和Windows上都有Client/Server合一的版本。我在Windows上安装TightVNC作为VNCServer,配置非常简单:服务器配置只需要设置密码即可。Linux上运行VNC客户端在访问时指定服务器IP并提供密码即可。 FedoraCore 5集成了2个VNC客户端:krdc和“终端服务客户端”,都在Internet分类下面。 备份是系统管理中最艰巨、最容易被忽略的工作之一,同时也是最重要的工作之一。备份是防御硬件故障、非法入侵和系统安全的最大威胁——终端用户的最后一道防线。有许多备份系统价值数千美元,它们使用到处都是 Bug 的专有版权软件将数据存入昂贵的磁带机中,而实际上有更好的方法:Rsync和廉价的磁盘阵列。 对于 VMWare、Virtual PC这些虚拟机软件,可能大家都比较熟悉。今天我要介绍的是另一个虚拟机软件——VirtualBox。VirtualBox 是一款功能强大的 x86虚拟机软件,它不仅具有丰富的特色,而且性能也很优异。更可喜的是,VirtualBox 于数日前走向开源,成为了一个发布在 GPL许可之下的自由软件。大小只有11M。我在FC6上运行虚拟机失败: qRFCView is a viewer for IETF RFCs. Advantages are: SIPp: a powerful SIP performance testingtool sponsered by HP. Its main features are basic SIPStone scenarios,TCP/UDP transport, customizable (xml based) scenarios, dynamicadjustement of call-rate and a comprehensive set of real-timestatistics. 另外,在http://www.sipcenter.com/,http://www.sipforum.org/,http://www.cs.columbia.edu/sip/等网站收集SIP相关大量信息。http://www.ee.oulu.fi/research/ouspg/protos/testing/c07/sip/按照GPL发布了SIP报文Torture(拷问,rfc4475)测试用例。 Bison的-g选项输出语法的自动机的VCG定义。 Visualizationof CompilerGraphs。以下两个地方有相关工具信息:http://rw4.cs.uni-sb.de/~sander/html/gsvcg1.html,http://vcg.sourceforge.net/,directory.fsf.org/Xvcg.html。好像函数调用关系也可以用这个表达,见http://web.mit.edu/fortran/www/vcg.html。 BuildBot基于Python。BuildBot是分布式结构,master监控若干slaves(监视状态,下发命令,搜集结果),各个slave 按照指示执行update/compile/test并返回结果。Python和其他许多项目(Python的持续构建报告http://www.python.org/dev/buildbot/;wireshark的构建报告http://buildbot.wireshark.org/trunk/)利用它做持续构建。最简单的调度器是Periodic,每隔N秒(无论库有无变化)呼叫slave一次;其次是Scheduler,每次注意到库变化都呼叫slave一次;最复杂是Nightly,注意到库变化后在特定时间点呼叫slave一次。 pywinauto(https://sourceforge.net/projects/pywinauto/)is Windows GUI automation with Python. No pre-recording or windowcapture needed before use - just code and run :-) SIP(http://riverbankcomputing.co.uk/sip/index.php) is a tool forautomatically generating Python bindings for C and C++ libraries. Itwas originally developed to create PyQt, the Python bindings for the Qttoolkit, but can be used to create bindings for any C or C++ library.可yum安装,名称Python-SIP。 PyChecker is a tool for finding bugs in python sourcecode. It finds problems that are typically caught by a compiler forless dynamic languages, like C and C++. It is similar to lint. Becauseof the dynamic nature of python, some warnings may be incorrect;however, spurious warnings should be fairly infrequent. Pylintis a python tool that checks if a module satisfies a coding standard.Pylint can be seen as another PyChecker since nearly all tests you cando with PyChecker can also be done with Pylint. But Pylint offers somemore features, like checking line-code's length, checking if variablenames are well-formed according to your coding standard, or checking ifdeclared interfaces are truly implemented, and much more (see thecomplete check list). Pyreverse is a set of tools for reverseengineering Python code. So far, it features dependency analysis tools,unittest skeleton generation, quick UML like diagrams generation andXMI generation for importation in a UML modeling tool. A special modulecan be used to generate files readable by Argo UML. Winpdb - AnAdvanced Python Debugger. Winpdb is an GPL Python debugger, withsupport for smart breakpoints, multiple threads, namespacemodification, embedded debugging, password encrypted communication andspeed of up to 20 times that of pdb.它基于wxPython。我用了一下,感觉比Python自带的IDLE的调试功能更强,更好用,速度也更快(IDLE里面执行一行代码慢得像蜗牛)。Winpdb只有很少的在线文档,启动命令:"_winpdb.py-t"。调试器Launch一个Python脚本时使用的就是启动调试器时的那个Python解释器,似乎没有办法更换。 pydbis an expanded version of the Python debugger loosely based on the gdbcomand set. It also has all of the features found in an earlier versionof pydb.py that was distributed with the debugger GUI ddd.早期的pydb是DDD的一个插件,而现在的版本基于gdb命令行,所以还可以集成到Emacs中。 免费的PythonIDE很多,我选择了SPE(http://pythonide.stani.be/)。它基于wxPython,集成了UML,语法检查工具PyChecker, 调试器Winpdb, GUI设计器wxGlade和XRC, 3D建模器和游戏引擎Blender &more...我用了一下,它像Python自带的IDLE那样有命令行,但编辑代码等功能好了十万八千里,显示汉字没问题。 SER网站Download页还有几个相关的不太成熟的小项目:(1)媒体服务器SEMS用作VoiceMail服务器、会议等应用(RFC4458等有相关规范);(2)RTPProxy作为会话双方的RTP中转站,用于使RTP穿透NAT。--一个替代品是http://mediaproxy.ag-projects.com/的MediaProxy。 NullHttpd是一个微型的HTTP Server。如果需要在C代码中嵌入HTTP Server时,可以考虑用上它--就像其主页声明的:这个server并不那么可靠,不要在涉及稳定性或安全性的环境中用它。 wxWidgetslets developers create applications for Win32, Mac OS X, GTK+, X11,Motif, WinCE, and more using one codebase. It can be used fromlanguages such as C++, Python, Perl, and C#/.NET. Unlike othercross-platform toolkits, wxWidgets applications look and feel native. |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
6,414.063ms |