2008年3月30日 星期日

TPMath - A Scientific Library Written in Pascal

http://www.unilim.fr/pages_perso/jean.debord/tpmath/tpmath.htm

IT is a library of scientific programs written in Pascal. Available in several versions according to the compiler, it is proposed as an alternative to the famous Numerical Recipes, for which the Pascal version is no longer developed, or to the Borland Numerical Methods Toolbox which is no longer available.

2008年3月11日 星期二

A Collection of Delphi Code Libraries - Fundamentals

http://fundementals.sourceforge.net/index.html

The collection consists of:
  • Utility functions:
    String operations, Dynamic array operations, System functions and Date & Time operations.

  • Unicode functions:
    Unicode codecs and Unicode character and string functions.

  • Streams:
    Common stream implementations that includes parsing support and binary packing.

  • Datastructures:
    Commonly used data structures, including efficient array and dictionary implementations.

  • Sockets:
    UDP and TCP server and client classes. Support for asynchronous or threaded modes.

  • Mathematics:
    Units included for vectors, matrices, rational numbers and complex numbers.

2008年3月6日 星期四

A Cross-platform Packer For Executables(跨平台的執行檔壓縮工具)

在 Lazarus 網站的 FAQ 中提到,可使用 UPX 這個工具,加上移除 GNU debugger 的 symbols(使用 strip)使得 freepascal 編譯出的 windows 執行檔變小。

經測試壓縮效率比 PECompact 差一些,不過差別在於:
  • UPX 為 GPL。
  • UPX 跨平台。
  • UPX 支援許多不同平台的執行檔格式。(win32, linux, linux kernel, mac, even Playstation 1 !)
以下轉貼自原始網站 http://upx.sourceforge.net/

UPX is a versatile executable packer with the following features:

  • excellent compression ratio: typically compresses better than WinZip/zip/gzip, use UPX to decrease the size of your distribution !

  • very fast decompression: ~10 MB/sec on an ancient Pentium 133, ~200 MB/sec on an Athlon XP 2000+.

  • no memory overhead for your compressed executables because of in-place decompression.

  • safe: you can list, test and unpack your executables. Also, a checksum of both the compressed and uncompressed file is maintained internally.

  • universal: UPX can pack a number of executable formats.

  • portable: UPX is written in portable endian-neutral C++

  • extendable: because of the class layout it's very easy to add new executable formats or new compression algorithms

  • free: UPX is distributed with full source code under the GNU General Public License, and may be used freely even with commercial programs.

You probably understand now why we call UPX the "Ultimate Packer for eXecutables".

UPX is based on experience with our previous packers DJP and lzop and uses the NRV compression library.

Pascal Tutorial

http://www.taoyue.com/tutorials/pascal/
Pascal 的入門教學。