[ADMB Users] ADMD IDE
Arni Magnusson
arnima at hafro.is
Fri Jun 18 16:17:25 PDT 2010
> 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.
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
More information about the Users
mailing list