From help-octave-request at bevo dot che dot wisc dot edu Wed Jan 14 12:33:55 2004 Subject: Re: Mkoctfile, need dynamic linking even for compiling a .cc file? From: "Henry F. Mollet" To: Paul Kienzle CC: Octave_post Date: Wed, 14 Jan 2004 10:31:53 -0800 OK, now I can compile a .cc file using mkoctfile Bourne shell script to get an .oct executable file. However, until I "upgrade" to get an octave version with dynamic linking I won't be able to run myHell.oct nor myoregonator.oct. Once I have "upgraded", I'll try to implement your comments below. Thanks. Here, I'd like to comment and perhaps clarify a little the oregoator example used in section 13.8 Dynamically Linked Function for those, who like me had difficulties understanding the example at first. The example does not actually integrate the 3 differential equations, it "merely" calculates the 3 derivatives, given initial concentrations of [1,2,3] at time 0. To integrate, and get the three concentrations as a function of time, lsode ("f", x0, t) has to be added, as is nicely demonstrated in the section on Differential Equation/Ordinary Differential Equation. Henry on 1/13/04 9:14 PM, Paul Kienzle at pkienzle at users dot sourceforge dot net wrote: > > On Jan 13, 2004, at 11:55 PM, Henry F. Mollet wrote: > >> Many thanks. These .oct files are very large!? > > I solved that problem on windows by making a dynamic version > of libstdc++ (with lots of help). Anyone care to take this on > for os x? > >> Probably should rename the first one to MyHell.oct. > > MyHell.oct must have the function FMyHell in it for the loader > to find it. You can't rename the oct-file without changing the > name of the DEFUN_DLD in the .cc file. > >> As you explained earlier, even if I had oregonator.m in the same >> directory, >> oregonator.oct would be used. I saw no difference in speed when running >> oregegonator.m but I would have to incorporate cputime () into the >> files >> because both are completed so quickly. > > You won't see major gains until you move for-loops out > of octave and into C++. Often you can do well enough > just by vectorizing loops, but some loops can't be > vectorized. > > Paul Kienzle > pkienzle at users dot sf dot net > > > > ------------------------------------------------------------- > Octave is freely available under the terms of the GNU GPL. > > Octave's home on the web: http://www.octave.org > How to fund new projects: http://www.octave.org/funding.html > Subscription information: http://www.octave.org/archive.html > ------------------------------------------------------------- ------------------------------------------------------------- Octave is freely available under the terms of the GNU GPL. Octave's home on the web: http://www.octave.org How to fund new projects: http://www.octave.org/funding.html Subscription information: http://www.octave.org/archive.html -------------------------------------------------------------