2007年8月10日 星期五

清單 - 搜尋

編輯

wotsit 各類規格檔案

.

IDE & Compiler Introduction

大部份資料來源:按這裡
少部份作者自己修正。


◆ IDE

‧Dev-Cpp(Windows Only)http://www.bloodshed.net/
 Compiler 僅支援 GCC, 個人覺得不甚理想而且真的很久沒有更新了


‧Code::Blocks(Various)http://www.codeblocks.org/
 目前看過支援最多 compiler 的 IDE,最新的一版支援的
 Ccompiler 為:

 1. GCC
 2. MSVC 7.1(2003 toolkit)
 3. MSVC 8.0(2005 express)
 4. BCC 5.5(CLI 免費版)
 5. DMC(數位火星)
 6. Open Watcom(原本有家公司叫 Watcom, 現在大概掛了)
 7. Intel C/C++ Compiler(要付錢......)
 8. SDCC Compiler(Intel 8051... MCUs的編譯器)
 9. GNU GDC Compiler(GNU 的 D 語言編譯器…)
 10. DMD(數位火星的官方 D 編譯器)
 11. GNU ARM GCC Compiler

 在語法上,也支援許多奇奇怪怪的語言 =.=b,不過這不是重
 點,重點是他能切換各種 Compiler


‧Visual C++ 2005 Express(Windows XP SP2 Only)
 http://msdn.microsoft.com/vstudio/express/visualc
 內部使用的 compiler 是 MSVC 8.0


‧Turbo C++ Explorer(Windows Only)http://www.turboexplorer.com/
 如果上面那個算是真正的 IDE, 這個就叫暴走的 IDE 要安裝前必須
 先灌一堆雜七雜八的也就算了,自己本身也超大啟動時間相當長,
 元件相當多,功能多到爆炸 Orz全部安裝完可能會超過 1G 吧…內部
 使用的 compiler 似乎是 BCC 5.5, 有點歷史的 compiler...

 另外,其實 Turbo 是騙人的,他連 About 的地方都寫 BCB簡單地說應該就
 是 BCB 免費版………也同樣完整支援 RAD 與 VCL


‧Open Watcom C/C++(Winodws, OS/2, etc..?)
 http://www.openwatcom.org/
 這個東西我打開來看一眼就關掉了,看起來沒上面那兩個好用簡便強大
 內部使用的 compiler 是 Open Watcom 1.5, 測試結果…非常爛



Commercial Compiler

‧msvc 7.1(.NET 2003)網站已被 MS 移除…

 基本上這個是在 windows 上我最推薦的 compiler,全部合起來只有 30 MB, 比 MinGW 還要小(雖然 MinGW 不只是 C++ compiler)而且編譯出來的程式,也是最小最快的,比 msvc 8.0 還要小還要快,可惜已經被微軟移掉。


‧msvc 8.0(.NET 2005)http://msdn.microsoft.com/vstudio/express/visualc/
如果只是要用 compiler, 灌這有一點…累贅,畢竟他還包含了整個 IDE, 記得全部約 3xx MB不過以這種功能而言,這樣的 size 其實並不會很大,很可惜沒有像 msvc 7.1 那樣輕便版的就是了,否則搭 code::blocks 很方便編譯出來的程式略比 msvc 7.1 的慢一點,檔案則肥一些,但還是比 g++ 小應該會是個不錯的 compiler, 這有待我繼續嘗試


‧DMC 8.49 http://www.digitalmars.com/download/freecompiler.html
 這個…我之前的測試結果跟 bcc 類似,都是又慢又肥跟標準相不相容,就很難講了而且這次我要測試他的效能時,會跳出 STLport 的錯誤我也懶得追查要怎麼解決了


‧Opne Watcom 1.5 http://www.openwatcom.org/index.php/Download
 編出來的程式異常地小,比 msvc 7.1 的還小很多我懷疑他是否有用到什麼 dll 檔…?不能確定但是執行效能還真不是普通地爛,比 g++ 還差很多,更不用去跟 msvc 比了,差太遠了…好幾倍之差而且這個下載版本是 compiler + IDE 的,實在…不怎麼方便


‧icc(Intel C/C++ Compiler)http://www3.intel.com/cd/software/products/asmo-na/eng/compilers/279578.htm
 在 Windows 上,據說 icc 生出的程式是執行效能最好的可以有 30 天的試用期,不幸的是我之前下載的過期了,又懶得重抓,所以這次 icc 我沒有測試到安裝程式也滿大的,不知道裡面有哪些東西不過我個人是覺得 msvc 系列的執行效能就很好了,倒也不用刻意去找 intel 的來用



◆ Free Compiler

‧G++(GNU C++ Compiler)http://www.mingw.org/
 Windows 上只有 2.x 和 3.x 版可以用,4.0 一直都沒有前幾年我拿他編出來的程式和 msvc 7.1 比較,兩者是差不多的甚至 g++ 3.4.x 有略勝一點點,不管是程式大小和執行效率不過在這一兩年,msvc 7.1 忽然暴走,編出來的程式變得相當漂亮G++ 就已經完全不是對手了…不過 g++ 應該是目前跨最多平台的 c++ compiler, 用起來還是很方便編譯出來的程式也有一定的水準,雖然敗給 msvc 了


‧DJGPP
 一個 32-bit GNU C/C++ compiler. for DOS. 支援 DPMI (DOS Protected Mode Interface), 可開發 DOS 32-bit 保護模式的程式.


‧GNU C
 在任何安裝 Unix, BSD, Linux 的系統上都可見到.


‧Cygwin
 Windows 下的 GNU 與 Unix 環境, 可在 Windows 下使用 gcc, flex, bison...


‧WATCOM C
 知名的 C/C++ compiler. 現已 Free. 支援多種 OS 與平台.


‧Digital Mars C/C++
 前身是知名的 Zortech C/C++ , Symantec C/C++, 現已 Free. 支援多種 OS 與平台.


‧Turbo C++ 3.0
 a.Borland Turbo C++ 3.0, DOS 下的 C Compiler. 已開放為 Free Download. 可發展 DOS 16-bit real-mode application.


‧Borland C++ Compiler
 Free Borland C++ 5.5 compiler. 可發展 Windows 32-bit application. (Fast , Free and ANSI).

 全部約 50 MB,跟 MinGW 相近不過…老實講這 compiler 真的有點老舊了跟標準不太合就算了,編出來的程式也又肥又慢,完全比不上 g++而且不知道為什麼,我這次在 code::blocks 上的設定,他都會有個錯誤訊息,我不知道怎麼解決


‧SDCC
 C compiler for Intel 8051 and Zilog Z-80.


‧LCC - Win32
 C compiler for Win32 system (Windows 32-bit programming).


‧The 6502 C compiler
 C compiler for 6502 CPU. 6502 CPU 目前仍有許多廠商使用於 embedded system 上. 最早為 Apple II 電腦內使用了一顆 6502 CPU

資源 - 程式設計工具

編輯


◆ 工具目錄、清單

 △ Assembly
 ‧Linux Assembly Resouces

 △ C++
 ‧William Yeh




◆ 綜合、簡介

 ‧IDE 及 Compiler 簡介
 ‧Borland C++ 5.5 Installation (安裝方式說明)



◆ Freeware IDE

 ‧Code::Blocks (Linux, windows, mac)
 ‧Visual C++ 2005 Express (Windows XP sp2 only)
 ‧Turbo C++ Explorer (Windows)



◆ Open Source IDE

 ‧Dev-Cpp (Windows)
 ‧Open Watcom C/C++ (Windows)
 ‧WideStudio IDE (linux,mac,ms,solaris,freebsd)
  (配合Compiler是不錯的工具,比Code::Blocks還有彈性)
 ‧V IDE (work with g++, BCC5.5, Java)
 ‧aptana (ajax,php)
 ‧Bloodshed (c/c++, window)
 ‧Flat Assembler (bases on x86 & x86-64 CPU)
 ‧Anjuta C/C++ IDE (c/c++, Linux for GNOME)
 ‧Eclipse (java,cross platform)



◆ C/C++ Compilers

 ‧Scriptometer(評估各類語言、編譯器良莠)

 ‧Apple GCC (Xcode) (Mac OS X)
 ‧Borland C++ Compiler 5.5 (Win32)
 ‧Borland Turbo C++ 3.0 (MS DOS 16 bit)
 ‧Borland Turbo Pascal 7.0 (MS DOS 16 bit)
 ‧Ch (商業 C/C++ 編譯器)
 ‧DigitalMars C/C++ (Win32)
 ‧DJGPP (GCC 移植之32-bit DOS版,80386 以上CPU)
 ‧GNU GCC (incl. G77) (Linux)
 ‧GNU C Compiler (Cross Platfrom)
 ‧Intel C++ compiler (Win32)
 ‧LCC Compiler
 ‧LLVM Compiler Infrastructure
 ‧OpenWatcom (Win32)
 ‧OTCC - The smallest self compiling pseudo C compiler
 ‧MinGW GCC (incl. G77) (Win32)
 ‧Microsoft Visual C++ Toolkit 2003 (Win32)
 ‧Microsoft Visual C++ 2005 (Win32)
 ‧Small Device C Compiler (8051 and Zilog Z-80)
 ‧SmartEiffel - With TCC you can compile your Eiffel code faster
 ‧Tiny C Compiler



◆ Assembler

  TASM    Borland免費釋放。需有TC++3.0的TLINK.exe 來連結 .obj
NASM x86 assembler with Intel syntax
FASM another x86 assembler with Intel syntax
ALD Assembly Language Debugger
BASTARD Bastard Disassembly Environment
DUDE Despotic Unix Debugging Engine
LinIce SoftIce-like debugger for Linux
BIEW console hex viewer/editor with built-in disassembler
HTE viewer/editor/analyzer for text, binary, and executable files
OTCCELF tiny C compiler, generates a dynamically linked ELF file
UPX Ultimate Packer for eXecutables
Intel2gas converter between AT&T and Intel assembler syntax
A2I converter from AT&T to Intel assembler syntax
TA2AS converter from TASM to AT&T assembler syntax
SPARC ASM SPARC v8 assembler & disassembler
binutils as they are: gas, ld, ar, etc
  RosASM    ReactOS Assembler



◆ Free Interpreter/Tramslator

 ‧Ch, a commercial C/C++ interpreter
 ‧CIL - A C to C translator.



◆ Other Language Compilers
 ‧Digital Mars D Compiler (Win32, Linux)
 ‧GDC D Compiler



◆ Some Languages and Their Critic/Comparision

 ‧Lightweight C++
 ‧The D language
 ‧Cyclone, A Safe Dialect of C
 ‧C-- - An intermediate language for compilers

 ‧Languages comparisons
 ‧Programming in C (收集與C,C++相關標準的文件資料)



◆ Other Tools

 ‧The Scriptometer evaluates various scripting languages (including TCC).

Java Chips: The Hardware Solution

‧Java Chips: The Hardware Solution
1998/05

The Java virtual machine (JVM) isn't virtual anymore -- it's real. New Java chips can execute Java bytecode as their native machine language, making it unnecessary to interpret or compile the bytecode into some other CPU's machine language.

In theory, this could allow Java to run as fast as native code on other CPUs -- if Java chips were as powerful as other CPUs. In practice, most Java chi ps will be sub-$50 processors, because they're designed for network computers (NCs), TV set-top boxes, smartcards, and other embedded devices. Only one company, Sun Microelectronics, is known to be developing a high-end Java processor (ultraJava).

Nine companies are working on Java chips: Sun, NEC, IBM, Fujitsu, LG Semicon, Rockwell, Siemens, Patriot Scientific, and International Meta Systems (IMS). Seven of them (Sun, NEC, IBM, Fujitsu, LG Semicon, Rockwell, and Siemens) are designing their chips around Sun's picoJava core, which is available for licensing. Patriot modified an existing processor to run Java, and IMS is working on an independent design.

Sun plans to ship its first Java chip, the microJava 701, in the second half of this year. Later, Sun plans to introduce additional 700-series microJava chips, plus some lower-end 500-series and 300-series chips. For the high end, Sun is designing the ultraJava for 1999 or later. It's for graphics workstations and will compete against high-end CPUs of other architectures, says Harlan McGhan, technical marketing manager.

So far, nobody has shipped actual products with Java chips. Sun has announced the JavaBlaster, a $99 ISA card that turns old PCs into Java-based computers, but it won't appear until after the microJava 701 ships. Siemens is designing a picoJava-based smartcard. Rockwell might use its JEM1 chip in navigation and communications systems. Patriot has shipped more than two dozen development kits for its PSC1000.

Java chips aren't limited to running software written in Java, any more than other CPUs are. Programmers can use any high-level language that has a bytecode compiler. In fact, Sun is introducing C/C++ compilers that generate bytecode. The picoJava architecture defines about half a dozen extended bytecode instructions to support C/C++ and low-level hardware functions, such as memory writes, on-board cache control, access to control registers, and power-up/power-down diagnostics.

Is this heresy ? No, says Sun. Java chips must support those functions so developers can write OSes, device drivers, and other low-level programs. Regular Java can't do it because Java source compilers don't generate the extended bytecodes. Even if they did, the bytecode verifiers built into JVMs would reject the extended bytecodes as illegal. This preserves the safety of Java applications while permitting developers to write low-level system software for Java chips.

Patriot was the first company to demonstrate a working Java chip (November 1997). Instead of licensing Sun's picoJava core, Patriot took an existing Forth chip and reprogrammed the microcode to recognize bytecodes. The PSC1000 already had a stack architecture, because Forth, like Java, is a stack-oriented language. Patriot's PSC1000 costs less than $10 in volume.

Marc Tremblay, a chip architect at Sun, predicts that low-end Java chips based on the picoJava core will run Java about 20 times faster than interpreters running on a Pentium at the same clock frequency. Tremblay thinks the chips will deliver about five times as much performance as a just-in-time (JIT) compiler running on a Pentium.

Is that fast enough? By the time the chips come out, the best JIT compilers might deliver more performance on fast CPUs than low-end Java chips. However, that won't threaten the two most important markets for the chips: inexpensive devices that can't afford a Pentium-class CPU but still need to run Java at acceptable speeds and low-memory devices that lack the resources for a full-size JVM and a JIT compiler.