Shell Access with C++ Recommendations

X

xander.grespesky

hi all,

I'm looking for recommendations for unix "shell access" services that
provide a c++ compiler (gcc or intel). free would be preferable.
basically i'm looking at testing out some networking related code over
the internet.
any suggestion will be greatly appreciated.


-xander
 
X

xander.grespesky

Install Linux on a spare machine. Now you have your own "shell access".

That's a really dumb answer Sam, obviously i have a few boxes I'm
playing with locally. But looking at the caliber of your past post
responses I'm not the least surprised.
 
G

George Kettleborough

hi all,

I'm looking for recommendations for unix "shell access" services that
provide a c++ compiler (gcc or intel). free would be preferable.
basically i'm looking at testing out some networking related code over
the internet.
any suggestion will be greatly appreciated.


-xander

The only free shell I am aware of is: http://silenceisdefeat.org/

You have to pay a token $1 or something small by paypal but then it is
free after that. I've had mine for a few years now. Their main box is
OpenBSD. It's quite slow, though, and with load averages between 5 and 6
so not suitable for compiling large applications.

There are plenty of pay for shells available and if you want a decent
speed then you're probably going to have to "shell out".
 
J

James Kanze

I'm looking for recommendations for unix "shell access"
services that provide a c++ compiler (gcc or  intel). free
would be preferable. basically i'm looking at testing out
some networking related code over the internet.

I'm not sure what you mean by "shell access" services. C++ has
a standard function, system() which allows invoking another
program. This program can be a shell, and on Unix based
machines, it will be a shell---Posix requires that system()
invoke a shell to interpret the command, but you'll have to see
your compiler documentation to find out what it actually does.

The only real problem is that the shell commands aren't really
portable. Still, Unix look-alikes abound, and there are a
number of Unix-like tool kits for Windows, so if you use a set
of Unix commands (not from the latest Posix standard, but
something a bit older), you can obtain a limited amount of
portability, sufficient for many uses.
 
E

Erik Wikström

hi all,

I'm looking for recommendations for unix "shell access" services that
provide a c++ compiler (gcc or intel). free would be preferable.
basically i'm looking at testing out some networking related code over
the internet.
any suggestion will be greatly appreciated.

sdf.lonestar.org
 
E

Erik Wikström

If you already have "a few boxes", then you have no need for a unix "shell
access" services in order to test "out some networking related code over the
internet". I manage to develop quite a bit of "networking related code" this
way, just fine. And I don't really need the other machines at all.
"Networking related code" can be built and tested on a single machine, just
fine. So, who's the real the dummy, around here?

While it is possible to simulate stuff like latency, low bandwidth, low
MTU, etc. using stuff like dummynet or such no amount of simulation can
replace running live in the intended environment. Believing anything
else just shows who the "real dummy" is.
 
X

xander.grespesky

The only free shell I am aware of is:http://silenceisdefeat.org/

You have to pay a token $1 or something small by paypal but then it is
free after that. I've had mine for a few years now. Their main box is
OpenBSD. It's quite slow, though, and with load averages between 5 and 6
so not suitable for compiling large applications.

I'll check that out, thanks for the recommendation.
There are plenty of pay for shells available and if you want a decent
speed then you're probably going to have to "shell out".

I'd be willing to fork-out a bit depedning on the level of service and
available tools. Do you have any specfic providers in mind?

-xander
 
X

xander.grespesky

I'm not sure what you mean by "shell access" services. C++ has
a standard function, system() which allows invoking another
program. This program can be a shell, and on Unix based
machines, it will be a shell---Posix requires that system()
invoke a shell to interpret the command, but you'll have to see
your compiler documentation to find out what it actually does.

The only real problem is that the shell commands aren't really
portable. Still, Unix look-alikes abound, and there are a
number of Unix-like tool kits for Windows, so if you use a set
of Unix commands (not from the latest Posix standard, but
something a bit older), you can obtain a limited amount of
portability, sufficient for many uses.

Hi James,
I'm not sure if you're joking or are serious... either way thanks for
the bit on system.
 
X

xander.grespesky

sdf.lonestar.org

thats an excellent suggestion! their core platform seems to be a DEC-
alpha, its always good to try test things on other architectures. i'll
give it a go.
 
X

xander.grespesky

While it is possible to simulate stuff like latency, low bandwidth, low
MTU, etc. using stuff like dummynet or such no amount of simulation can
replace running live in the intended environment. Believing anything
else just shows who the "real dummy" is.

You're absolutely right, there are some behaviors over the internet we
can't properly model and if we were to spend the necessary effort and
time, it would always end up being more than simply finding an empty
box somewhere on the other-side of the world and using it to send a
few packets back and forth, nothing like the real thing.
 
E

Erik Wikström

It's been my experience that only the "real dummies" insist that the only
way to test something is to let it loose in the indended environment,
without any testing. Because, after all, no real testing can possibly come
close to the "real thing".

If you count yourself in the "to hell with testing, just deploy" group, then
good luck with deploying what you cobbled together, with no real testing.
Without real experts like you, I wouldn't be able to make a nice living.

If you had read my reply more carefully you would notice that I never
said that you should not test your code, in fact I think it is very
important that you carefully test your code. What I did say, however,
was that no matter how much testing you perform, it will never be the
same as running the application live in the production environment.

Of course, having said that, it is important to notice that the kind of
testing the OP wants to do is still just testing. But by running as
realistic tests as possible, in as realistic environments as possible,
the chance of failure in production is minimised.
 
J

James Kanze

The only free shell I am aware of is:http://silenceisdefeat.org/

Are you kidding. I've used at least three different free Unix
toolkits under Windows: CygWin, MSys and UWin. All come with
fully functional shells, plus all of the more frequently used
utilities. (The shell alone, without the utilities, isn't going
to help you much.) There are almost certainly freely available
non-Unix shells as well; I'd be surprised if there wasn't an
open source implementation of Rexx, for example.
You have to pay a token $1 or something small by paypal but
then it is free after that. I've had mine for a few years now.
Their main box is OpenBSD. It's quite slow, though, and with
load averages between 5 and 6 so not suitable for compiling
large applications.

I've had performance problems with CygWin (www.cygwin.com), but
not serious ones. And UWin
(http://www.research.att.com/sw/tools/uwin/) seems as fast as
anything else. (I'm not sure how perennial something from AT&T
will be, however.)
 
J

James Kanze

I'm not sure if you're joking or are serious... either way
thanks for the bit on system.

Totally serious. I regularly invoke Unix shells via system
under Windows. It does take some playing around with the path
in your environment (the "system" configuration panel, in the
"advanced" section), but it works. The important different I've
seen is that under Unix, system() always invokes the shell to
interpret the command line you've given it; under Windows, it
normally doesn't, but rather interprets it somehow itself (I
think; I've had problems with quoted text in the command line;
things like "someprog -x \"a.*b\"".) If you want full shell
interpretation, you might have to write the command to a file,
and invoke "sh < filename" or "sh filename" in the call to
system().
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
474,167
Messages
2,570,910
Members
47,453
Latest member
MadelinePh

Latest Threads

Top