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.
> 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.
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.
Arni Magnusson wrote: >> 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.
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?
-----Original Message----- From: users-boun...@admb-project.org on behalf of Arni Magnusson Sent: Fri 18/06/2010 4:17 PM To: Robert O'Boyle
Cc: us...@admb-project.org Subject: Re: [ADMB Users] ADMD IDE
> 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.
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:
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.
On Fri, 18 Jun 2010, Nathan Taylor wrote: > 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
> -----Original Message----- > From: users-boun...@admb-project.org on behalf of Arni Magnusson > Sent: Fri 18/06/2010 4:17 PM > To: Robert O'Boyle > Cc: us...@admb-project.org > Subject: Re: [ADMB Users] ADMD IDE
>> 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.