C/C++ User's Journal Robust, Lightweight, Cross-platform Template Software Synesis Software - Software Development Specialists Updated: 10th February 2010
Home  |  Downloads  |  FAQ  |  Mailing list  |  Documentation home  |  latest version documentation (frames)  |  latest version documentation (non-frames)
New: 11th November 2009: version 1.100 of recls.NET is released.


Welcome to the home of recls - recursive ls - the platform-independent recursive search library.

This library came about as the first exemplar for my C/C++ User's Journal column, Positive Integration, which deals with issues of language integration between C/C++ and a host of other languages.

The library itself is implemented in C/C++, but presents a pure C API. It is compatible with UNIX and Win32 operating systems (though the FTP recursive searching is currently Win32-only), and is compatible with most popular C/C++ compilers, including:
  • Borland (v5.51+)
  • Comeau (v4.3.0.1+)
  • Metrowerks CodeWarrior (v8.x+)
  • Digital Mars (v8.40+)
  • GCC (v3.2+)
  • Intel (v7.0+)
  • Microsoft Visual C++ (v6.0+)
Note that the base library requires components from the STLSoft libraries (which is another open-source library I'm involved with).

In addition to the base library, there are mappings to several other languages/technologies. Currently these are
As the column progresses, you will be able to download the library and the various language mappings from here.

Please call back soon.

Matthew Wilson (admin at recls dot org)

P.S. Please feel free to send suggestions and comments, or to submit a question

Mailing list

Due to the level of abuse of the mailing list by systematic mail-spammers, the mailing list has been discontinued. You are invited to instead post your recls-related queries on the STLSoft newsgroup, at: news://news.digitalmars.com/c++.stlsoft


9th January 2010: Version 1.9.1 (alpha 1) of recls is released. Version 1.9 involves substantial reworking of the core API and the C++ mapping.

12th January 2010: Version 1.8.14 of recls -a bug-fix and compatibility update.

11th November 2009: Version 1.100 of recls.NET is released.

8th June 2008: Version 1.8.13 of recls -a bug-fix and compatibility update.

8th June 2008: Version 1.8.12 of recls -a bug-fix and compatibility update.

7th October 2007: Version 1.8.11 of recls -a minor update.

2nd June 2007: Version 1.8.10 of recls -a minor update.

19th May 2007: Version 1.8.9 of recls -a minor update.

16th April 2007: Version 1.8.7 of recls -a minor update.

7th April 2007: Version 1.8.6 of recls -a minor update.

27th February 2007: Version 1.8.5 of recls -a minor update.

8th September 2006: Version 1.8.4 of recls -a minor update.

16th August 2006: Version 1.8.3 of recls -a minor update.

26th July 2006: Version 1.8.2 of recls -a minor update.

18th June 2006: Version 1.8.1 of recls -a significant update incorporating a large number of additions.

31st December 2005: Version 1.7.2 of recls -a minor update incorporating a couple of bug fixes.

27th December 2005: Version 1.7.1 of recls -a significant update featuring changed directory structure, new search functionality and API functions, and C++ properties in recls/C++ and recls/STL bindings

17th July 2005: Version 1.6.4 of recls -a minor update incorporating code size reductions.

28th June 2005: Version 1.6.3 of recls -a minor update incorporating greater compiler compatibility, including for Mac-OS X.

23rd May 2005: Version 1.6.2 of recls, featuring significant refactoring of the main library source.

13th April 2005: Libraries of Version 1.6.1 of recls for Digital Mars, including the recls/D mapping.

18th March 2005: Version 1.6.1 of recls, featuring significant refactoring of the main library source, and addition of the new recls/Python mapping.

6th March 2005: Version 1.5.3 of recls, featuring various bug fixes, improved makefiles, and small improvements to several mappings.

13th June 2004: Version 1.5.2 of recls, featuring updated D mapping and simplified directory structure, now available.

9th June 2004: Version 1.5.1 of recls, featuring FTP enumeration and multi-filter patterns, is now available.

24th April 2004: Version 1.4.1 of recls, featuring Ruby mapping, is now available.

24th February 2004: Version 1.3.1 of recls, featuring COM mapping, is now available.

23rd January 2004: Version 1.2.1 of recls, featuring D and Java mappings, is now available.

3rd January 2004: recls is now part of the D standard library, in the std.recls module.

24th November 2003: Version 1.1.1 of recls, featuring C# and STL mappings, is now available.

23rd November 2003: The next version (0.77) of the D compiler will contain recls as part of the D standard library, in the std.recls module.

4th November 2003: The port to Linux went without a hitch, and the next public release of recls will support that platform.

14th October 2003: A beta version of the recls D mapping is available for early testing.

5th October 2003: Version 1.0.2 of recls is released, which contains just a few minor fixes, and makefiles for Borland C/C++ 5.5(1).

1st October 2003: November 2003 issue of C/C++ User's Journal hits the stores. The recls ISP steals itself against giga-bit download streams!

23rd September 2003: Version 1.0.1 of recls is released, to coincide with the first instalment of the Positive Integration column in November 2003's issue of C/C++ User's Journal.