1
0
mirror of https://github.com/OlafvdSpek/ctemplate.git synced 2025-09-28 19:05:49 +08:00
ctemplate/README
csilvers 71afde04df Thu May 7 11:27:28 2009 Google Inc. <opensource@google.com>
* 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
2009-05-07 15:35:04 +00:00

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).