The UNIX and Linux Forums  
Hello and Welcome from United States to the UNIX and Linux Forums! Thank You for Visiting and Joining Our Global Community.

Go Back   The UNIX and Linux Forums > Top Forums > High Level Programming
.
google unix.com



High Level Programming Post questions about C, C++, Java, SQL, and other programming languages here.

More UNIX and Linux Forum Topics You Might Find Helpful
Thread Thread Starter Forum Replies Last Post
Compile gcc on AIX 5.2 untamed AIX 7 01-31-2008 05:21 AM
How do I compile source undfer Suse Linux? Mark Ward SuSE 3 05-26-2006 01:28 PM
¿compile .ksh? DebianJ Shell Programming and Scripting 1 05-09-2005 04:33 PM
Compile freeBSD binaries in Linux shalmoo High Level Programming 0 10-01-2003 03:38 AM
How to compile using gcc... lilprogrammer High Level Programming 4 08-22-2002 12:48 AM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Search this Thread Rate Thread Display Modes
  #1 (permalink)  
Old 09-20-2001
ctchung ctchung is offline
Registered User
  
 

Join Date: Sep 2001
Location: Australia
Posts: 1
Question compile C under linux?

hi everyone,

i am a beginner of C and doing a subject which involved c programming under unix.
i tried compile the c program under linux. but i can only get the a.out file in /usr/bin, not in the current dir. can anyone know how to change the sys. configration. Please help. thanks
  #2 (permalink)  
Old 09-20-2001
mbb mbb is offline
Registered User
  
 

Join Date: Aug 2001
Location: UK
Posts: 104
The C compiler does not know what to call your final executable, so it has defaulted the name to a.out.

It is unusual for the compiler to place the output in the /usr/bin directory, usually it is placed into your current directory.

Nearly all compiliers, including those on Unix and Linux will accept a number of command line switches and parameters. By using command line parameters you can change the behaviour of the compiler significantly. See for yourself by doing:

man cc

or

man gcc

This will give you a very lengthy description of what to expect from your compiler. Also read the man page on your linker.

man ld

Somewhere in that lot will be a way to change the output file name. If necessary you can give it an explicit path name.


Finally, if you did not realise it already, the a.out file is (or should be) a fully runnable executable. You can always rename it using the move or copy command!

Regards

MBB.
  #3 (permalink)  
Old 09-20-2001
rwb1959's Avatar
rwb1959 rwb1959 is offline
Registered User
  
 

Join Date: Aug 2001
Location: Virginia, USA
Posts: 438
I'm not sure why your resulting "a.out" file is
ending up in /usr/bin BUT... normally you would
have to be a priviledged user (i.e. root) to
be able to write into that directory. I would
strongly recommend that you DO NOT experiment
with writing and compiling programs as root
(or any other priviledged user). Login to your
system as an ordinary user to do this sort of
thing.

On directing the compiler, try the "-o" option
to generate your executable...

gcc -o hello hello.c

...will compile the C program "hello.c" and will
create an executable file called "hello" in
the current working directory.
Closed Thread

Bookmarks

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On




All times are GMT -4. The time now is 07:05 AM.


Powered by: vBulletin, Copyright ©2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright ©2007 - 2008, PixelFX Studios
The UNIX and Linux Forums Content Copyright ©1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant URLs by vBSEO 3.2.0