multithreading libraries, new auto functiontrace and minor corrections
This commit is contained in:
@@ -39,22 +39,30 @@
|
|||||||
|
|
||||||
See the <a href="pages.html">"Related Pages"</a>.
|
See the <a href="pages.html">"Related Pages"</a>.
|
||||||
|
|
||||||
- @ref readme "The Readme, a Short Overview"
|
- @ref readme
|
||||||
- @ref download "Download, Dependencies and Simple Installation"
|
- @ref download
|
||||||
- @ref usage "Usage of the Library: Include and Link"
|
- @ref usage
|
||||||
- @ref threads "Thread Safety"
|
- @ref threads
|
||||||
- @ref libversion "Library Versioning"
|
- @ref libversion
|
||||||
- @ref license "License Information (LGPL)"
|
- @ref license
|
||||||
- @ref install "Detailed Compilation and Installation Information"
|
- @ref install
|
||||||
- @ref news "Breaking News, What's New?"
|
- @ref news
|
||||||
- @ref changes "Change Log"
|
- @ref changes
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/** @page download Download, Detailed und Simple Installation
|
/** @page download Download and Installation
|
||||||
|
|
||||||
Download this version from here:
|
Download this version from here:
|
||||||
- Requirements:
|
- Requirements:
|
||||||
- No special requirements for the binary package!
|
- Boost thread library for multi threading:
|
||||||
|
http://boost.org
|
||||||
|
- log4cxx for automated tracing and function traces:
|
||||||
|
- http://logging.apache.org/log4cxx
|
||||||
|
- RPM: http://marc.waeckerlin.org/mrw-c++/log4cxx-0.9.7-1.i386.rpm
|
||||||
|
- @ref mrw::StackTrace requires:
|
||||||
|
- the GNU Binutils
|
||||||
|
- either GNU Compiler gcc or GNU C library glibc
|
||||||
|
- runs better on: either Linux or Solaris
|
||||||
- Binary
|
- Binary
|
||||||
- Binary RPM Packages (built on i586/SuSE):
|
- Binary RPM Packages (built on i586/SuSE):
|
||||||
- http://marc.waeckerlin.org/@PACKAGENAME@/@PACKAGENAME@-@MAJOR@.@MINOR@.@LEAST@-1.i586.rpm
|
- http://marc.waeckerlin.org/@PACKAGENAME@/@PACKAGENAME@-@MAJOR@.@MINOR@.@LEAST@-1.i586.rpm
|
||||||
@@ -65,6 +73,7 @@
|
|||||||
<code>rpm -Uvh @PACKAGENAME@-devel-@MAJOR@.@MINOR@.@LEAST@-1.i586.rpm</code>
|
<code>rpm -Uvh @PACKAGENAME@-devel-@MAJOR@.@MINOR@.@LEAST@-1.i586.rpm</code>
|
||||||
- Source
|
- Source
|
||||||
- Requirements to build from source:
|
- Requirements to build from source:
|
||||||
|
- boost: http://boost.org
|
||||||
- cppunit: http://cppunit.sf.net
|
- cppunit: http://cppunit.sf.net
|
||||||
- log4cxx: http://logging.apache.org/log4cxx
|
- log4cxx: http://logging.apache.org/log4cxx
|
||||||
- doxygen: http://doxygen.org
|
- doxygen: http://doxygen.org
|
||||||
@@ -93,27 +102,49 @@
|
|||||||
#include <mrw/stacktrace.hpp>
|
#include <mrw/stacktrace.hpp>
|
||||||
@endverbatim
|
@endverbatim
|
||||||
|
|
||||||
All classes are in the mrw namespace.
|
All classes are in the @c mrw namespace.
|
||||||
|
|
||||||
if you want the mrw::StackTrace to evaluate file and line numbers,
|
if you want the mrw::StackTrace to evaluate file and line numbers,
|
||||||
then you need to compile with debug information enabled, thats
|
then you need to compile with debug information enabled, thats
|
||||||
option @c -g.
|
option @c -g.
|
||||||
|
|
||||||
Link to the library with option @c -lmrw, e.g.:
|
Link to the library with option @c -lmrw (or @c -lmrw-mt if your
|
||||||
|
program is multi threaded), e.g.:
|
||||||
|
|
||||||
@verbatim
|
@verbatim
|
||||||
g++ -g -o myprogram myprogram.cpp -lmrw
|
g++ -g -o myprogram myprogram.cpp -lmrw
|
||||||
@endverbatim
|
@endverbatim
|
||||||
|
|
||||||
For the @ref AutoTools "unexpected handler" you need to link with
|
For the @ref AutoTools "unexpected handler" you need to link to
|
||||||
@c -lmrwexcstderr or @c -lmrwexclog4cxx.
|
@c -lmrwexcstderr or @c -lmrwexclog4cxx (or @c -lmrwexcstderr-mt
|
||||||
*/
|
or @c -lmrwexclog4cxx-mt if your program is multi threaded).
|
||||||
|
|
||||||
|
For the @ref AutoFunctionTrace "automated function trace" you need
|
||||||
|
to link to @c -lmrwautofunctiontracelog4cxx (or @c
|
||||||
|
-lmrwautofunctiontracelog4cxx-mt if your program is multi
|
||||||
|
threaded). In addition, you must compile and link your program
|
||||||
|
with the GNU compiler specific option @c -finstrument-functions */
|
||||||
|
|
||||||
/** @page threads Thread Safety
|
/** @page threads Thread Safety
|
||||||
|
|
||||||
|
To enable thread safety, you must link to @c libmrw-mt instead of
|
||||||
|
@c libmrw. That means, your link option is: @c -lmrw-mt
|
||||||
|
|
||||||
|
Different instances of classes can run in different threads, but
|
||||||
|
instances of classes can not be shared between different threads.
|
||||||
|
|
||||||
All classes are not thread safe, that means they should either
|
All classes are not thread safe, that means they should either
|
||||||
always be accessed from the same thread, or you are responsible
|
always be accessed from the same thread, or you are responsible
|
||||||
for locking. If you need thread safety as a feature, please send
|
for locking.
|
||||||
|
|
||||||
|
All methods are threads safe, that means, they can be called at
|
||||||
|
the same time from different threads. But not on the same object.
|
||||||
|
|
||||||
|
This means: One instance should only be used within one single
|
||||||
|
thread. Different instances of the same class can be accessed
|
||||||
|
simultaneousely in different threads.
|
||||||
|
|
||||||
|
If you need more thread safety as a feature, please send
|
||||||
me an email and ask me for it (you find the address in the package
|
me an email and ask me for it (you find the address in the package
|
||||||
or on my personal homepage: http://marc.waeckerlin.org).
|
or on my personal homepage: http://marc.waeckerlin.org).
|
||||||
*/
|
*/
|
||||||
|
Reference in New Issue
Block a user