octave-maintainers
[Top][All Lists]
Advanced

[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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]