can Fortran have an input&output command prompt in terminal? - fortran

Generally I use fortran to do the numerical analysis and then using matlab, R and python to do post and pre work.
What I found is that matlab, R and python provide a command prompt in terminal, so that you can run script as well as instantly execute commands from command line. However, fortran may not be working like that as I have to compile the scripts before running it. furthermore, after running the binary file compiled from script, it is not possible to inquire the data in RAM processed by running the binary, unless they are exported to files or run script in debug mode.
Just wondering if there is a way to "run" FORTRAN binary in a sort of command line, so that we can further process the data after finishing running the binary as we usually do in matlab, R, python (or even sage, mathematica?). If there isn't such kind of terminal do you have any idea about the reasons? (probably my misunderstanding on the concept of fortran, which may differ from the other languages.)
thanks in advance!

The only thing I know of is this system at CERN. They have have also something similar for C.
http://wwwasdoc.web.cern.ch/wwwasdoc/comis/comimain.html

You may write your calculation routines in Fortran and bind them into some interpreted language. For Python you could use the f2py package for this.

Related

Cppdepend handling from command line

I´ve downloaded the CppDepend static code analyzator, to analyze my .cpp programs. It seems to have a nice visual APK to manage my files, however, I´m more looking for something that can be controlled from the command line, so that I can create another program which runs that and does the appropriate stuff.
Visual application seems to have a quite rich Doc here: https://www.cppdepend.com/Doc/Getting-Started-with-CppDepend.pdf
but so far I have not found anything about it´s command version.
Does anyone have any experience with this or anything helpful to share?
Yes you can execute CppDepend from the terminal or any script using CppDepend.Console.exe

debugging a c++ program withing R

I'm running a c++ program from R using Rcpp and RcppArmadillo. My OS is windows 8. I use the cxxfunction to compile my code (Later I'll make a package directly instead, but for now I'm clueless about how to make a package). The issue is that R often crash while running my c++ code. There must be some segmentation faults because often it doesn't exactly crash at the same spot even with the same seed. Currently, I'm printing out stuff to the prompt but I feel like this is not the most efficient way to debug my program.
So I read a bit about how to debug c++ code in R and it seems that gdb is a good way to do it. So I downloaded mingwin32 which contains gdb for windows. When I run R using gdb it works fine and I can run all my code fine but when R crash gdb backtrace function returns 'no trace'. I have no idea why. I heard people say to add the option -g -Oo in the compilation, but I'm using cxxfunction to compile my c++ program and I don't know how to compile manually things in R. I also heard some people talk about changing cxxflags but I don't really understand what that is and how to change it.
So my questions are :
Should I use gdb or something else?
How do I get gdb to work with my R program?
Should I install linux on a separate partition to make everything simpler?
Thanks for the help.

Build systems in Sublime Text

I'm just beginning to learn programming (on C++ and Python), and by beginning I mean total beginning ("hello world" beginning...). Not wanting to use multiple IDE's, I would like to be able to code and build–simple–programs with my text editor, Sublime Text 2. Could someone indicate me, with a step-by-step tutorial, how to implement C++ and Python compiling and executing capabilities in Sublime Text.
I've searched Sublime Text build systems on the site, but the answers are very specific and can't help a rookie like me (but they'll probably help me later).
Thanks
Sublime Text 2 already comes with scripts for building and running Python and C++ programs.
Simply press Cmd+B (or Ctrl+B on Windows & Linux) when a .py or .cpp file is open. The Python file will automatically execute and show the result in the built in console.
For C++, you need to press Cmd+Shift+B (Ctrl+Shift+B on Windows & Linux) to run it after building.
You need to have Python installed (get it here for Windows), and also a C++ compiler. The build system for C++ tries to call g++ by default (get it here for Windows. Remember to select the C++ compiler when installing!).
You will need to add the directories to path (c:\python32\ or similar for python, c:\mingw\bin or similar for the C++ compiler).
On windows, you may experience problems running the C++ programs (it tries to use bash). But Ctrl+B builds the program, and you can then use a command line to run it. Python works flawlessly on Windows.
windows(install minigw, python2.7 and added to the system path)
cpp:
build: ctrl+b
run: ctrl+shift+b
python:
build and run: ctrl+b
you may try to learn the the .sublime-build files in your Tools -> Build system -> New build system
So, you don't want to use an IDE but then you want IDE features from a text editor? :)
Most people who use a text editor for writing code use terminal to build and run the code.
So, for C++, the instructions are:
make (or gcc myprogram.c)
./myprogram
for a Python program, it's even simpler:
python ./myprogram.py
If you're not comfortable with terminal, then you probably need an IDE.
for c++ I actually made sublime to produce colorful error messages which are easier to read and you can also click on the errors which takes you to the file with the error.
You can look at how I modified the build to do what I wanted in here

Debugging C/C++ code with IPython

Say I am in IPython (e.g. on the new QT console), and that I call a C++ library that I wrote from it (e.g. using SWIG or Boost.Python). I would like to set a breakpoint in my C++ code and have the ability to interact with my C++ workspace (i.e. my variables when I hit the breakpoint) with IPython (e.g. plot my C++ variables, etc.).
In other words I would like to debug my C++ code from IPython. Is this at all possible? What are some tools I can use for this?
(assuming you are on Linux)
You just need gdb. First set up configuration telling gdb where your source files are by adding this to $HOME/.gdbinit:
directory absolute-path-to-source
Now start gdb python and on the gdb prompt do:
set args /usr/bin/ipython
run
You can't directly do gdb ipython because ipython is a script. Please refer to the gdb documentation from here on.
In general, you won't be able to debug C++ code directly with IPython. What you can do, though, is use a C++ debugger to debug your C++ code.
Essentially, you tell your C++ debugger to execute whatever process you need to use to run your code (this could be IPython itself), and set a breakpoint in your C++ code (your debugger will know to wait for the appropriate DLL to be loaded if it's in a DLL). From there, you are debugging your part of the code that is running in the IPython process.

Netbeans MPI c++ how to start?

Hello everyone I just staring developing c++ under netbeans/ubuntu(x64) and now I am staring with MPI. How can I compile, test,run mpi applications under. Thanks a lot.
Till now, I've found only this IDE for MPI on Linux: Geany (a tutorial is here.)
But I keep searching...
If anyone find better IDE, please share under this question...
There is an Eclipse plug-in for parallel programming, including MPI: http://www.eclipse.org/ptp/
To build, change the C++ compiler in NetBeans's C/C++ options to be /path/to/mpicc.
As for running, MPI applications are usually invoked with mpirun. This is done either via the command line (on your PC) or via a batch description file (on a cluster with OpenPBS, LoadLeveler, or similar scheduler). I've never tried to run MPI via an IDE, though NetBeans does have an option for the debugger command, so you might be able to try that and see what happens.