mirror of
https://github.com/OlafvdSpek/ctemplate.git
synced 2025-09-28 19:05:49 +08:00

* ctemplate: version 0.94 release * Use arena for all memory allocations: 3-4% speedup (csilvers) * Add the ability to hook the annotation system (ryoji) * Expose Expand(ExpandEmitter*,...) to allow custom emitters (csilvers) * Add RemoveStringFromTemplateCache (csilvers) * Add new :url_escape_with_arg=css modifier for urls in CSS (jad) * Support tr1's unordered_map in preference to hash_map (csilvers) * Use Murmurhash for all string hashing, rather than hash<> (csilvers) * Better parsing of meta tags and dangling < for auto-escape (falmeida) * Add AddXssSafeModifier (jad) * Allow disabling auto-escape for 'trusted' vars (jad) * BUGFIX: resolve possible memory-leaks in CopyDictionary (csilvers) * BUGFIX: fix bug when reloading with AUTOESCAPE pragma (jad) * Updated autoconf version to 2.61 and libtool version to 1.5.26
38 lines
1.5 KiB
Plaintext
38 lines
1.5 KiB
Plaintext
See the documentation in the doc/ directory for information about how
|
|
to use the ctemplate library.
|
|
|
|
COMPILING
|
|
---------
|
|
To compile test applications with these classes, run ./configure
|
|
followed by make. To install these header files on your system, run
|
|
'make install'. (On Windows, the instructions are different; see
|
|
README.windows.) See INSTALL for more details.
|
|
|
|
This code should work on any modern C++ system. It has been tested on
|
|
Linux (Ubuntu, Fedora, RedHat), Solaris 10 x86, FreeBSD 6.0, OS X 10.3
|
|
and 10.4, and Windows under both VC++7 and VC++8.
|
|
|
|
There are a few Windows-specific details; see README.windows for more
|
|
information.
|
|
|
|
CTEMPLATE AND THREADS
|
|
---------------------
|
|
The ctemplate library has thread support, so it works properly in a
|
|
threaded environment. For this to work, if you link libraries with
|
|
-lctemplate you may find you also need to add -pthread (or, on some
|
|
systems, -pthreads, and on others, -lpthread) to get the library to
|
|
compile. If you leave out the -pthread, you'll see errors like this:
|
|
|
|
symbol lookup error: /usr/local/lib/libctemplate.so.0: undefined symbol: pthread_rwlock_init
|
|
|
|
If your code isn't multi-threaded, you can instead use the
|
|
ctemplate_nothread library:
|
|
-lctemplate_nothreads
|
|
|
|
To summarize, there are two ways to link in ctemlpate in non-threaded
|
|
applications. For instance:
|
|
1) gcc -o my_app my_app.o -lctemplate -pthread
|
|
2) gcc -o my_app my_app.o -lctemplate_nothreads
|
|
|
|
If your application uses threads, you should use form (1).
|