-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathREADME
executable file
·106 lines (76 loc) · 3.51 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
* GNU Nana - improved support for assertions and logging in C and C++.
Nana provides improved support for assertion checking and logging in GNU C
and C++. It provides:
o Operations can be implemented directly in C or by generating
debugger commands which do the checking and logging only if the
application is run under the debugger. The debugger based calls
require are very space efficient (0 or 1 bytes per call).
o Support for assertion (invariant checking) including:
+ Space and time efficient (at least versus <assert.h>)
For example: assert(i>=0) uses 53 bytes on a i386 vs
an optimised nana call which uses 10 bytes per call.
+ Checking can be turned on or off at compile or run time.
+ The action taken when an error is detected can be modified
on a global and per/call basis.
o Support for logging (printf style debugging) including:
+ Logging can be turned on and off at compile or run time.
+ Logging to files, processes or circular buffers in memory
with optional time stamping.
o Support for the quantifiers of predicate calculus (forall, exists).
o Measurement of space/time overheads for code fragments (see perf/)
o A shortform/HTML code overview generator (see shortform/).
[A shortform consists of the function headers together with
their pre/post conditions]
* Installation.
Nana uses the standard GNU installation method, e.g.
% gzcat nana-2.2.tar.gz | tar xvf -
% cd nana-2.2
% ./configure
% make
% make install
% make check
% make check-mail [Please do this step!]
% make subscribe
Notes:
* the make check follows the install.
* make uninstall is supported.
* if you want to install it in your own account use something
like: ./configure --prefix=~/local and remember to add
~/local/bin to your path.
* the check-mail posts off the results of the testing to nana-bug
using mail. N.B. Some mails don't support the subject field, some
O/S don't have a command called mail, etc, etc. If so try it
by hand using something like:
% make MAILER=elm check-mail
* the make subscribe is used to subscribe you to the
nana mailing list.
* But make check failed with errors.
A fail in make check normally (:-)) means that part of nana is not
working correctly. As usual don't panic, have a cup of tea.
The following problems are common:
o The debugger based macros fail with gcc -O2 or gcc -O3
because your compiler and debugger get upset with each other
at higher levels of optimisation.
o Qstl.h doesn't work, have you (or your compiler writer)
installed the STL library?
* Information in the distribution.
./INSTALL -- a general guide to the configure
./doc/nana.texi -- texinfo source for documentation
./doc/nana.info -- system documentation (includes installation)
./doc/nana.ps -- postscript version of documentation
./man/* -- man pages (not very good)
* Information on the net.
<http://www.cs.ntu.edu.au/homepages/pjm/nana-home> -- nana homepage
<ftp://cs.ntu.edu.au/pub/nana> -- ftp archive
<mailto:[email protected]> -- bug reports
<mailto:[email protected]> -- nana mailing list (new versions, suggestions,
etc). Uses majordomo. To subscribe send
"subscribe nana <address>" to
<mailto:[email protected]>
<http://www.cs.ntu.edu.au/hypermail/nana-archive> -- archive of
mailing list.
* N.B.: Nana is part of the GNU project and has been released
under the aegis (a shield given by Zeus to Minerva) of GNU.
See the COPYRIGHT for more details.
Good Luck
P.J.Maker <[email protected]>