目录
29 关系: Anjuta,反汇编器,Cygnus Solutions,Cygwin,理查德·斯托曼,紅帽公司,Dev-C++,Emacs,调试工具,自由及开放源代码软件列表,自由软件基金会,自由软件历史,GCC,GNU,GNU Binutils,GNU工具链,GNU软件包列表,GNU通用公共许可证,JTAG,KDbg,Kdump,OpenBSD,Orwell Dev-C++,QDevelop,RedBoot,SIGFPE,Strace,Xcode,整合開發環境列表。
Anjuta
Anjuta是一個用來撰寫C/C++程式的整合開發環境,使用在GNOME桌面環境上。Anjuta擁有專案管理、應用程式建立精靈以及整合的除錯器與Glade視窗介面設計工具等功能。其原始碼編輯器也支援語法高亮度顯示。 Anjuta是自由軟體,使用GNU通用公共許可證。.
反汇编器
反汇编器(disassembler)是一种将机器语言转换为汇编语言的计算机程序——这与汇编器的目的相反。反汇编器与反编译器不同,反编译器的目标是高级语言而非汇编语言。反汇编器的反汇编输出通常格式化为适合人类阅读,而非用作汇编器的输入源,因此它主要是一个逆向工程工具。 汇编语言源代码通常允许使用和程序员注释,而这些通常会在汇编器汇编的机器语言中被移除。因此,以机器代码为基础完成的反汇编结果将没有这些常量和注释,阅读输出结果将比阅读源代码更有难度。一些反汇编器提供了内置的代码注释功能,其生成的输出增补了有关被调用API函数或被调用函数参数的注释。一些反汇编器会利用对象文件(例如ELF)中存在的信息。例如,IDA允许人类用户在交互式会话中为代码的值或区域标记助记符号。 反汇编不是一门精准科学:在有可变宽度指令的复杂指令集(CISC)平台上,使用级编程或存在程序自修改代码时,单个程序可能有两个或多个合理的反汇编结果。程序在运行期间决定实际执行哪个指令被歸約到停机问题,这是已知无法解决的问题。.
查看 GNU侦错器和反汇编器
Cygnus Solutions
Cygnus Solutions(最初名为Cygnus Support)是一家由John Gilmore、Michael Tiemann和David Henkel-Wallace于1989年创办的信息技术公司,旨在为自由软件提供商业支持。它的口号是:“让自由软件使用无忧”(Making free software affordable)。Cygnus是“Cygnus, Your GNU Support”(意为:Cygnus,你的GNU支持)的递归式首字母缩写词。 多年间,Cygnus Solutions的员工是GNU几个主要软件产品的维护者,这些软件包括GNU Debugger、GNU Binutils(包括GNU Assembler和GNU Linker)。该公司也是GCC项目的主要贡献者。Cygnus还开发了BFD软件库,并在许多接受保密协议研制新型芯片的软件开发移植工具情况下,利用它将GNU移植到许多计算架构上。 Cygnus还是Cygwin最早的开发者,Cygwin由一个POSIX层和一组移植到微软视窗系列操作系统的GNU工具集组成。 1999年11月15日,Cygnus Solutions宣布将与紅帽公司合并,2000年初起不再作为单独的公司存在。到2003年为止,许多Cygnus的员工仍继续在紅帽工作,包括Tiemann,他之前担任紅帽公司-zh-hans:首席技术官; zh-hant:技術長;-,现任负责开源事务的副总裁。 Category:软件公司 Category:Red Hat.
Cygwin
Cygwin是许多自由软件的集合,最初由Cygnus Solutions开发,用于各种版本的Microsoft Windows上,运行类UNIX系统。Cygwin的主要目的是通过重新编译,将POSIX系统(例如Linux、BSD,以及其他Unix系统)上的软件移植到Windows上。Cygwin移植工作在Windows NT上比较好,在Windows 95和Windows 98上,相对差劲一些。目前Cygwin由Red Hat等负责维护。.
理查德·斯托曼
查德·马修·斯托曼(Richard Matthew Stallman,簡稱RMS,),美国程序员,自由软件活动家。他发起自由软件运动,倡导软件使用者能够对软件自由进行使用、学习、共享和修改,确保了这些软件被称作自由软件。斯托曼发起了GNU项目,并成立了自由软件基金会。他开发了GCC、GDB、GNU Emacs,同时编写了GNU通用公共许可协议。 Stallman为了创建一个完全由免费软件组成的类Unix计算机操作系统在1983年9月推出了GNU项目。凭借这个,他又发起了自由软件运动。他迄今为止一直是GNU项目的组织者,作为主要开发者的他开发了一些被广泛使用的GNU软件,其中包括GCC GDB GNU Emacs。在1985年10月他创立了自由软件基金会。 斯托曼开创了Copyleft的概念,它使用版权法的原则来保护使用、修改和分发自由软件的权利,并且是描述这些术语的自由软件许可证的主要作者。最为人所称道的是GPL(最广泛使用的自由软件协议)。 1989年,他和别人一起创立了League for Programming Freedom。自20世纪90年代中期以来,斯托曼花他大部分时间组织参与宣传自由软件,反对软件专利和数字版权管理的以及他认为剥夺用户自由的其他法律和技术系统运动。这包括最终用户许可协议、保密协议、 产品激活、加密狗、软件复制保护、专有格式、二进制软件包(没有源代码的可执行文件)。 截至2016年,他获得了十五个荣誉博士及教授称号。.
紅帽公司
Red Hat,中文譯為紅帽,是美國一家以開發、販售Linux套件並提供技術服務為業務內容的企業,其著名的產品為Red Hat Enterprise Linux。 在1990年代末期,Linux以自由軟體且開放原始碼為號召,試圖挑戰商業且閉源的Windows在作業系統市場的霸主地位之際,Red Hat所推出的Linux系統與軟體整合套件Red Hat Linux適時回應了市場的需求,從而奠定了Red Hat在Linux業界的旗手地位。截至2008年,Red Hat仍是提供Linux整合服務的同類企業中規模最大的公司。Red Hat於1999年8月11日在纳斯达克上市,2005年12月19日纳入納斯達克100指數,2006年12月12日轉到紐約證券交易所掛牌。.
查看 GNU侦错器和紅帽公司
Dev-C++
Dev-C++是一套用於開發C/C++(C++11)的自由的集成开发环境(IDE),並以GPL作為散佈許可。使用MinGW及GDB作為編譯系統與除錯系統。Dev-C++的IDE是利用Delphi開發的。 Dev-C++是一個SourceForge的計畫,是由Colin Laplace這位程式設計師及其公司Bloodshed Software所開始的。目前Dev-C++一般用於撰寫執行於Microsoft Windows的程式。Dev-C++一度有移植到Linux的計畫但目前被暫停了。 Bloodshed Dev-C++是一款全功能的C和C++编程语言的集成开发环境(IDE)。它使用的GCC MinGW或TDM-GCC的64位版本作为它的编译器。DEV-C++也可以使用Cygwin或任何其他基于GCC编译器组合使用。 此外,Dev-C++较旧的版本无法在win8环境下编译。.
Emacs
Emacs(,源自Editor MACroS,宏编辑器),是一个文本编辑器家族,具有强大的可扩展性,在程序员和其他以技术工作为主的计算机用户中广受欢迎。最初由Richard Stallman於1975年在MIT协同蓋伊·史提爾二世共同完成。这一创意的灵感来源于TECO宏编辑器TECMAC和TMACS,它们是由蓋伊·史提爾二世、Dave Moon、Richard Greenblatt、Charles Frankston等人编写的宏文本编辑器。 自诞生以来,Emacs演化出了众多分支,其中使用最广泛的两种分别是:1984年由理查·斯托曼发起并由他维护至2008年的GNU Emacs,以及1991年发起的XEmacs。XEmacs是GNU Emacs的分支,至今仍保持着相当的兼容性。它们都使用了Emacs Lisp这种有着极强扩展性的编程语言,从而实现了包括编程、编译乃至网络浏览等等功能的扩展。 在Unix文化裡,Emacs是黑客们关于编辑器之战的两大主角之一,它的对手是vi(Vim)。.
查看 GNU侦错器和Emacs
调试工具
調試工具亦稱侦错工具、除錯工具、除錯程式、調試器、--,英文名稱為Debugger,指一種用於调试其它程式的電腦程式及工具。能夠讓程式碼在指令組模擬器(ISS)中可以檢查運行狀況以及選擇性地運行,以便排错、除錯。當開發的進度遇到瓶頸或找不出哪裡有問題時,這技術將是非常有用的。但是將程式運行在除錯器之下,這將比直接在運作的平台以及處理器上執行還要來得慢。 當程式當機時,如果除錯器是屬於來源階段除錯器(source-level debugger)或象徵階段除錯器(symbolic debugger),除錯器即可以顯示出錯誤所在位置的原始碼,並使其於整合開發環境裡也能看見。要是屬於低階除錯器(low-level debugger)或機器語言除錯器(machine-language debugger)的話,它將能顯示的是一行一行的反組譯碼(這裡指的當機情況是指,當發生原因是因為程式設計師在設計上的疏失,使得程式無法繼續正常執行的情況。例如程式嘗試去調用某個對在該版本的CPU上而言是不合理的操作,或者是對保護或無法存取的記憶體位置進行寫入)。 典型的除錯器通常能夠在程式執行時擁有以下這些功能,例如單步執行(single-stepping)、利用中斷點(breakpoint)使程式遇到各種種類的事件(event)時停止(breaking)(一般用於使程式停止在想要檢查的狀態)、以及追蹤某些變數的變化。有些除錯器也有能力在想要除錯的程式在執行狀態時,去改變它的狀態,而不僅僅只是用來觀察而己。 一個好的除錯器存在的重要性不誇張。就算一個程式語言/平台在電腦的行程裡運作非常良好。有無除錯器以及除錯器的好壞,對於一個程式語言及平台來說,經常是能不能正常執行的重要因素。總之,軟體要能夠(或經常)執行在不同的除錯器下進行測試,是非常重要的。不過由於除錯器出現將做對軟體程式的內部時間的不可避免的變動。所以,即使是一個幾近完美的除錯器,在多工環境或分散式系統下,它也會更難去測試到執行時(runtime)的問題。 一個除錯器除了能夠用來除錯(debug),同樣的,它也經常被用來作為破解軟體的工具,像是用來跳過軟體的防拷貝保護,還有破解序號驗證,以及其它軟體保護功能。 大部份的主流除錯工程,譬如gdb和dbx提供基於主控台的命令提示介面(console-based command line)。除錯器前端應用,現在普遍是提供給整合式開發工具(IDE)做為除錯引撆、動態化、視覺化等特點。.
查看 GNU侦错器和调试工具
自由及开放源代码软件列表
下面是自由及开放源代码软件包——即采用和开源许可证的计算机软件的列表。符合自由软件定义的软件可能称为自由软件更为适宜;GNU计划尤其反对他们的软件被称为“开源”。欲知更多有关开源软件信息及其理论背景,请参考开源软件运动和自由软件运动。不过,几乎所有的符合开源软件定义的软件都是自由软件,故而也在此列出。.
自由软件基金会
自由軟件基金會(Free Software Foundation,FSF)是一個致力於推廣自由軟件的美國民間非營利性組織。它於1985年10月由理查德·斯托曼建立。其主要工作是執行GNU計劃,開發更多的自由軟件。 從其建立到1990年代中自由軟件基金會的基金主要被用來僱用編程師來發展自由軟件。從1990年代中開始寫自由軟件的公司和個人繁多,因此自由軟件基金會的僱員和志願者主要在自由軟件運動的法律和結構問題上工作。.
自由软件历史
在1950和1960年代,用户通常会在购买硬件时一同获得电脑操作系统和编译器而无需额外支付费用。当时,源代码会被和软件一起提供,以便用户进行 debug 和给软件添加新功能。 计算机最先在大学等机构内普及,而大学对软件进行的修改也会按照学术原则被公开地分享,此时,相关组织如雨后春笋般涌现。 然而,当大规模的操作系统逐渐成熟时,允许修改操作系统的组织数目便开始减少了。然而,实用程序和其他为操作系统添加功能的应用依旧被共享,新的组织也开始形成以推广软件共享。.
GCC
GNU编译器套裝(GNU Compiler Collection,縮寫為GCC),指一套编程語言编译器,以GPL及LGPL許可證所發行的自由軟體,也是GNU計畫的关键部分,也是GNU工具链的主要組成部份之一。GCC(特别是其中的C语言编译器)也常被认为是跨平台编译器的事实标准。1985年由理查德·马修·斯托曼開始發展,現在由自由軟體基金會負責維護工作。 原名為GNU C語言編譯器(GNU C Compiler),因為它原本只能處理C語言。GCC在发布后很快地得到擴展,變得可處理C++。之後也變得可處理Fortran、Pascal、Objective-C、Java、Ada,Go與其他語言。 許多操作系統,包括許多类Unix系統,如Linux及BSD家族都採用GCC作為标准编译器。蘋果電腦预装的Mac OS X操作系统也採用這個編譯器。 GCC原本用C開發,後來因為LLVM、Clang的崛起,它更快地將開發語言轉換為C++。許多C的愛好者在對C++一知半解的情況下主觀認定C++的性能一定會輸給C,但是Ian Lance Taylor給出了不同的意見,並表明C++不但性能不輸給C,而且能設計出更好,更容易維護的程式(、)。.
查看 GNU侦错器和GCC
GNU
GNU是一個自由的作業系統,其內容軟體完全以GPL方式釋出。這個作業系統是GNU計劃的主要目標,名稱來自GNU's Not Unix!的遞迴縮寫,因為GNU的設計類似Unix,但它不包含具著作權的Unix代碼。GNU的創始人,理察·馬修·斯托曼,將GNU視為「達成社會目的技術方法」。 作為作業系統,GNU的發展仍未完成,其中最大的問題是具有完備功能的內核尚未被開發成功。GNU的內核,稱為Hurd,是自由軟體基金會發展的重點,但是其發展尚未成熟。在實際使用上,多半使用Linux內核、FreeBSD等替代方案,作為系統核心,其中主要的操作系統是Linux的發行版。Linux作業系統包涵了Linux內核與其他自由軟體計畫中的GNU組件和軟體,可以被稱為GNU/Linux(見GNU/Linux命名爭議)。.
查看 GNU侦错器和GNU
GNU Binutils
GNU Binary Utilities或binutils是一整套的程式語言工具程式,用來處理許多格式的目的檔。當前的版本原本由在Cygnus Solutions的程式員以Binary File Descriptor library(libbfd)所撰寫。這個工具程式通常搭配GCC、make、和GDB這些程式來使用。 剛開始時,這個套件內只有幾支程式,但後來,由於功能需求近似,陸續加入了GNU組譯器(GAS)和GNU連結器(GLD)。一般來說,這些程式都很簡單,大部分的複雜性都存在於Binary File Descriptor library和libopcodes這些函式庫裡頭。 原來的BFD版本由David Henkel-Wallace和Steve Chamberlain所撰寫。Ken Raeburn和Ian Lance Taylor曾維護過。目前則是由Nick Clifton負責維護此版本。至於Linux上的版本,由H.J.
GNU工具链
GNU工具链(GNU toolchain)是一个包含了由GNU計劃所产生的各种编程工具的集合,由自由軟體基金會負責維護工作。这些工具形成了一条工具链,用于开发应用程序和操作系统。 GNU工具链在针对嵌入式系统的Linux内核、BSD及其它软件的开发中起着至关重要的作用。GNU工具链中的部分工具也被Solaris, Mac OS X, Microsoft Windows (via Cygwin and MinGW/MSYS) and Sony PlayStation 3等其它平台直接使用或进行了移植。.
GNU软件包列表
此GNU软件包列表列出了由自由软件基金会作为GNU计划的一部分而开发或维护的重要软件包,GNU计划目的是开发完全由自由软件组成的类Unix计算机操作系统。其中许多的软件包与Linux内核一起构建了完整的计算机操作系统。.
GNU通用公共许可证
GNU通用公共授權條款(GNU General Public License,简称 GNU GPL、GPL)是廣泛使用的免費軟件許可證,可以保證終端用戶得自由運行,學習,共享和修改軟件。許可證最初由GNU項目的自由軟件基金會 (FSF)的理查德·斯托曼(Richard Matthew Stallman)撰寫,並授予計算機程序的收件人自由軟件定義的權利。 GPL是一個Copyleft許可證,這意味著衍生作品只能以相同的許可條款分發。 這與許可免費軟件許可證有所區別 ,其中BSD許可證和MIT許可證是廣泛使用的示例。 GPL是第一個普遍使用的Copyleft許可證。 歷史上,GPL許可證系列一直是免費和開源軟件領域最受歡迎的軟件許可之一。 根據GPL許可的優異自由軟件程序的例子有Linux內核和GNU編譯器集合 (GCC)。 David A.
JTAG
JTAG是联合测试工作组(Joint Test Action Group)的简称,是在名为标准测试访问端口和边界扫描结构的IEEE的标准1149.1的常用名称。此标准用于测试访问端口,使用边界扫描的方法来测试印刷电路板。 1990年JTAG正式由IEEE的1149.1-1990号文档标准化,在1994年,加入了补充文档对边界扫描描述语言(BSDL)进行了说明。从那时开始,这个标准被全球的电子企业广泛采用。边界扫描几乎成为了JTAG的同义词。 在設計印刷電路版時,目前最主要用在測試積體電路的副區塊,而且也提供一個在嵌入式系統很有用的偵錯機制,提供一個在系統中方便的"後門"。當使用一些偵錯工具像電路內模擬器用JTAG當做訊號傳輸的機制,使得程式設計師可以經由JTAG去讀取整合在CPU上的偵錯模組。偵錯模組可以讓程式設計師偵錯嵌入式系統中的軟體。.
查看 GNU侦错器和JTAG
KDbg
KDbg 是一个自由开源的 GNU 调试器的图形前端。KDbg 使用 KDE 架构下的相关组件实现。.
查看 GNU侦错器和KDbg
Kdump
kdump是Linux内核的一个功能,可在发生内核错误时创建核心转储。当被触发时,kdump会导出一个内存映像(也称为vmcore),该映像可用于调试和确定崩溃的原因。 主内存的转储映像作为可执行与可链接格式(ELF)对象导出,可以在处理内核崩溃时通过/proc/vmcore直接访问,也可以自动保存到本地可访问的文件系统、 裸设备或通过网络访问的远程系统。.
查看 GNU侦错器和Kdump
OpenBSD
OpenBSD是一个类Unix计算机操作系统,是加州大学伯克利分校所开发的Unix衍生系统伯克利软件套件(BSD)的一个后继者。它是在1995年尾由荷裔加拿大籍项目领导者西奥·德·若特(Theo de Raadt)从NetBSD分支而出。除了操作系统,OpenBSD项目已为众多子系统编写了可移植版本,其中最值得注意的是PF、OpenSSH和OpenNTPD,作为软件包,它们在其他操作系统中随处可见。 该计划以其对开放源代码的坚持、高质量的文档、坚定的软件许可证和专注于系统安全及代码质量而闻名。该项目由德·若特在加拿大阿尔伯塔省卡尔加里的家中所协调。它的标志和吉祥物是一只河豚,名为普菲(Puffy)。 OpenBSD包含了一些在其他操作系统缺少或是列为选择性的安全特性,至今开发者仍然保有审计源代码以发现程序错误和安全问题的传统。该项目对软件许可证有严格限制,并倾向于使用开源的BSD许可证或其变种——过去还曾对许可证进行了全面的审计,并移除或替换掉以难以接受的许可证发布的代码。 与大多数基于BSD的操作系统一样,OpenBSD的内核和用户空间程序,如shell和cat及ps之类的通用工具,都在同一个源代码库共同开发。第三方软件可从port树中以二进制包的形式得到,或自源代码中编译。亦像大多数的现代BSD操作系统,在兼容的计算机架构中,它能以兼容模式完美运行为Linux编译的二进制代码。 OpenBSD计划维护着20种不同硬件平台的移植版,包括DEC Alpha、英特尔i386、惠普PA-RISC、x86-64及摩托罗拉 68000处理器、苹果PowerPC、Sun SPARC和SPARC64计算机和Sharp Zaurus。OpenBSD基金会被接纳为2014年Google编程之夏的指导组织。.
Orwell Dev-C++
Orwell Dev-C++是Dev-C++的一个衍生版本。Orwell鉴于Dev-C++的长时间(从2005年2月22日起)不再更新,对Dev-C++源代码进行错误修正,並更新编译器后发布的版本。.
QDevelop
QDevelop是一个致力于 Qt4 开发的跨平台集成开发环境。QDevelop 依赖 Qt4,MinGW(仅在Windows下需要),gdb(用于调试),ctags(用于代码补全)等软件包。QDevelop目前支持英语,法语,德语,荷兰语和俄语。.
RedBoot
RedBoot是開放原始碼的啟動程式之一,使用eCos即時作業系統的硬體抽象層以提供嵌入式系統自我啟動的韌體。RedBoot可用於開發與量產的產品中。 RedBoot可藉由串列埠或以太網埠下載並執行嵌入式應用軟體,包括嵌入式Linux與eCos。另外,RedBoot可結合GNU除錯器(GDB),在嵌入式軟體的開發與除錯階段提供除錯支援。藉由串列埠或以太網埠,RedBoot也提供互動式的命令列介面(CLI)來管理快閃記憶體映像檔('''image''')、映像檔下載、RedBoot組態......等功能。如果要自動安裝或自動啟始,也可以利用儲存在快閃記憶體中的啟動腳本檔(boot script),來從快閃記憶體、硬碟或TFTP伺服器載入映像檔。.
SIGFPE
在POSIX兼容的平台上,SIGFPE是当一个进程执行了一个错误的算术操作时发送给它的信号。SIGFPE的符号常量在头文件signal.h中定义。因为在不同平台上,信号数字可能变化,因此常使用信号名称。.
Strace
strace是Linux環境下的一款程序调试工具,用來監察一個應用程序所使用的系統调用及它所接收的系統信息。.
Xcode
Xcode是蘋果公司向開發人員提供的集成開發環境,用於開發macOS、iOS、WatchOS和tvOS的應用程序。.
查看 GNU侦错器和Xcode
整合開發環境列表
以下為(程式語言撰寫開發)整合開發環境的列表:.
亦称为 GDB,GNU Debugger,GNU 除錯器。