[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Observations on working with Octave C++ code
From: |
Daniel J Sebald |
Subject: |
Observations on working with Octave C++ code |
Date: |
Sun, 29 Jul 2012 12:51:26 -0500 |
User-agent: |
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.24) Gecko/20111108 Fedora/3.1.16-1.fc14 Thunderbird/3.1.16 |
Some observations of working with Octave C++ code...
1) I came across the "doxygen documentation", e.g.,
http://octave.sourceforge.net/doxygen/html/classchar_matrix.html
It is a nice summary of the classes and member functions, including a
graphical hierarchy of parents and children classes along with fast
links to other classes and member definitions. I found this to be
hugely helpful in speeding up the time it takes to understand Octave
innards without having to hunt and peck for definitions in the actual
source files. (Why this documentation falls under Octave-Forge, I'm not
exactly sure. I mean, Octave-Forge uses Octave and doesn't concern
itself with the insides of core Octave. And how this documentation
is/was generated, I'm not sure either.)
I suggest putting a link to this documentation somewhere in the
developer page
http://www.gnu.org/software/octave/get-involved.html
or wiki
http://wiki.octave.org/Projects
E.g., "A good place to start for learning the structure of Octave's C++
code is this dOxygen documentation
http://octave.sourceforge.net/doxygen/html/index.html."
Generally, the C++ code looks nicely organized. It takes a bit of time
to understand what a member variable or function stands for, but
eventually it becomes evident.
2) Along that same lines, one could include, e.g.,
"Another good reference for C++ concepts is http://www.cplusplus.com/,
and in particular the documentation for the often-used C++ strings
library http://www.cplusplus.com/reference/string/."
3) I've found that building Octave after just tweaking the code in some
C++ file is quite slow. Is it simply the case that the linking is so
big? Are there a lot of libraries that have to be built? That one
minute or so of sitting while Octave assembles can really add up in
terms of developer's time. I try to multitask by doing something like
reading email while Octave is linking, but that sort of interrupts the
train of thought.
Dan
- Observations on working with Octave C++ code,
Daniel J Sebald <=