[ADMB Users] ADMD IDE

81 views
Skip to first unread message

Robert O'Boyle

unread,
Jun 18, 2010, 11:00:06 AM6/18/10
to us...@admb-project.org

Can anyone let me know if I can run C++ code alone in the ADMB IDE or is the IDE more specific to ADMB applications? The reason that I ask is that I am new of ADMB and would like to use the IDE but also have separate C++ code projects.

 

Cheers

 

Bob

 

 

Arni Magnusson

unread,
Jun 18, 2010, 7:17:25 PM6/18/10
to Robert O'Boyle, us...@admb-project.org

The answer is yes. Inside ADMB-IDE is the Emacs editor, and you can
definitely use Emacs to work with C++. ADMB-IDE also comes with the GCC
compiler for C++ and the GDB debugger, so in a way you're all set.

Emacs is a powerful editor, but the default settings are silly. You can
configure it extensively, but here's how it works out of the box:

---

Start ADMB-IDE and open an existing hello.cpp. Notice that the mode line
near the bottom of the frame says (C++/l Abbrev), and the code is shown
using helpful colors.

Now run M-x compile [RET] (that's Alt-x compile enter). Emacs guesses that
you want to run

make -k

but delete that and type

g++ -static -o hello hello.cpp

or if you're a fast typist

g++ -s -static -Wall -o hello hello.cpp

and press enter.

The hello(.exe) executable is now ready. To run the executable from within
Emacs, do M-! hello [RET] (that's Alt-Shift-1 hello enter). The minibuffer
at the bottom of the frame should say "Hello world" if that's what the
hello.cpp program is supposed to do.

---

Could that be any clunkier? The good news is that you can configure Emacs
to be exceedingly smooth and efficient. As a trivial example, you could
configure a personal "C++ hook" that lets f9 compile and f10 run the C++
program that you have open.

You see, in each mode, be it ADMB, C++, or something else, Emacs looks for
your personal settings in so-called hooks. You can study a few hooks in
the .emacs file that comes with ADMB-IDE, and then study some more
starting from
http://admb-project.org/community/editing-tools/emacs/config.

This takes years to learn, but it's a rewarding journey if you edit text
files every day and enjoy tinkering. Emacs has modes for all major
programming languages, sometimes with quite sophisticated tools, and you
can use the same working environment in all operating systems. But I
should also point out that there are many C++ IDEs that are more
beginner-friendly.

Arni
_______________________________________________
Users mailing list
Us...@admb-project.org
http://lists.admb-project.org/mailman/listinfo/users

Ian Taylor

unread,
Jun 18, 2010, 7:50:14 PM6/18/10
to Arni Magnusson, us...@admb-project.org, Robert O'Boyle
As a less advanced user of Emacs who started before Arni came up with
the ADMB-IDE, I would add that Arni has taken some well chosen steps to
make it easier for beginners to use. Whereas the default installation of
Emacs has an idiosyncratic set of keyboard shortcuts and a confusing (to
me) lingo to describe the commands that they perform, for the ADMB-IDE,
Arni has enabled some common user access shortcuts:
http://admb-project.org/community/editing-tools/admb-ide/manual#page=17

I bring this up because if you get into the practice of configuring the
ADMB-IDE to speed it's use with C++ in general (which will not be hard),
you should not be daunted by the array of information on the web that
may seem confusing in comparison to the ease of using the program as
configured. And when in doubt, ask Arni--it turns the sun will set in
Iceland tonight, but not until after midnight.

-Ian

Nathan Taylor

unread,
Jun 18, 2010, 9:37:11 PM6/18/10
to Arni Magnusson, Robert O'Boyle, us...@admb-project.org

Arni - just a curiosity

Looking through the IDE files from the google code source files, I notice that the associated compilers (in the gnu/gcc400) folder are 32 bit.  Is there a plan afoot to enable builds using the MinGW-w64 version? 

best

Nathan

Arni Magnusson

unread,
Jun 18, 2010, 10:36:54 PM6/18/10
to Nathan Taylor, us...@admb-project.org, Robert O'Boyle
Well, to be honest I've never tried a 64-bit Windows machine.

Even though my trusty WinXP wouldn't run any of it, I could release a
64-bit ADMB-IDE, in both zip and exe format.

The first step would be to find mingw64. At first glance, it looks like
two websites offer a variety of mingw64, but I'm not in a position to test
which one works:

http://tdm-gcc.tdragon.net/download
http://sourceforge.net/projects/mingw-w64/files/

Some of those archives seem large and may contain unnecessary components.
I've tried to make ADMB-IDE as small as possible, not including Fortran or
the like.

The next step would be to build ADMB for 64-bit Windows. Based on
someone's success with the first step above, Johnoel could probably roll
out admb-9.1-windows-mingw-gcc4.4-64bit in both zip and exe format.

This would probably be worthwhile, mainly for people with 4+ GB of RAM and
models requiring the same. Based on various benchmarks, I don't expect
going from 32 to 64 bits will result in much speed improvement, but who
knows. But when it comes to such heavy models, the expected 60%
performance gain by running in Linux rather than Windows is worth
considering. You could still do everything else in Windows, like preparing
the model input, analyzing the output, writing up, etc.

Arni

Reply all
Reply to author
Forward
0 new messages