On Thu, 31 Dec 1998, Dave wrote:
> I am new to the Linux world and would like to try my hand at some program
> development. All of my past programming experience has been using a windows
> based IDE. I have a few questions regarding Linux program development.
>
> 1) What are the preferred compilers for C and C++?
GCC, for most there is not a lot of choice. Comerical
compilers cost a lot, and GCC is a high quality compiler
in any case.
I don't know what the current standard of Linux IDEs is
like, don't use them myself.
> 2) What is a make file and what is the best way to learn how to create one?
Read the documentation to make. Especially the info files
on make.
> 3) Is there a good resource for learning Linux I/O system calls for sound,
> voice modem and other I/O cards?
The kernel source code and some of the LDP books. Have a look at
www.linuxhq.com. Other peoples source code can also be very helpful.
> 4) Is there a How-to somewhere to quickly learn how to compile, link and
> execute a program in Linux.
$EDITOR sourcefile.c # where $EDITOR is an editor like joe or jed
# put gcc into ANSI mode
cc -ansi -Wall -pedantic sourcefile.c -o name_of_executable
# to execute
./name_of_executable
( There will be if you write one. I started writing something like
that, but have since lost interest for a number of reasons. )
There are a few printed books specific to Linux programming, as
well as Unix in general. Even in a litte country like New Zealand
most big bookshops and most small ones sell Linux books.
> 5) Is there a How-to or other resource out there for a somewhat experienced
> programmer who wants to quickly learn the peculiarities of programming in
> Linux.
There is plenty of Unix programming documentation around, most
of it applies to Linux. It isn't hard to find by using a search
engine. Try http://www.yahoo.com, find the sections on Unix and
Linux and have a good wonder around.
W.R Stevens book "Advanced Programming in the Unix Environment"
is applicable to Linux, as are his more specialised books on Unix
programming. (excellent material).