linux-c-programming.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* c++ compiling problem. undefined reference to main
@ 2004-04-06 20:44 srg
  2004-04-06 20:55 ` Jad Saklawi
  2004-04-08  5:41 ` How to execute a process in background by exec functions? Wen Guangcheng
  0 siblings, 2 replies; 7+ messages in thread
From: srg @ 2004-04-06 20:44 UTC (permalink / raw)
  To: linux-c-programming

Hello:

We have a problem compiling c++ code.
At the bottom of this message you can see the compiler error.

Here are the details:

# gcc -v
Reading specs from /usr/lib/gcc-lib/i486-linux/3.3.3/specs
Configured with: ../src/configure -v 
--enable-languages=c,c++,java,f77,pascal,objc,ada,treelang --prefix=/usr 
--mandir=/usr/share/man --infodir=/usr/share/info 
--with-gxx-include-dir=/usr/include/c++/3.3 --enable-shared 
--with-system-zlib --enable-nls --without-included-gettext 
--enable-__cxa_atexit --enable-clocale=gnu --enable-debug 
--enable-java-gc=boehm --enable-java-awt=xlib --enable-objc-gc i486-linux
Thread model: posix
gcc version 3.3.3 (Debian)

# g++ -v
Reading specs from /usr/lib/gcc-lib/i486-linux/3.3.3/specs
Configured with: ../src/configure -v 
--enable-languages=c,c++,java,f77,pascal,objc,ada,treelang --prefix=/usr 
--mandir=/usr/share/man --infodir=/usr/share/info 
--with-gxx-include-dir=/usr/include/c++/3.3 --enable-shared 
--with-system-zlib --enable-nls --without-included-gettext 
--enable-__cxa_atexit --enable-clocale=gnu --enable-debug 
--enable-java-gc=boehm --enable-java-awt=xlib --enable-objc-gc i486-linux
Thread model: posix
gcc version 3.3.3 (Debian)

# cat hello.cpp
#include <iostream>

using namespace std;

int main(int argc,char** argv)
{
cout << "hello" << endl;
}
# g++ -o hello hello.cpp
# ./hello
hello

At this point all is OK, now comes the problem:

# cat cj_enteros.hpp

#ifndef _CJ_ENTEROS_HPP_
#define _CJ_ENTEROS_HPP_

#include <iostream>

class cj_enteros {

public:
cj_enteros(void);
cj_enteros(const cj_enteros& B);

~cj_enteros(void);

void inserta (int);

void unir (const cj_enteros& B);
void intersectar (const cj_enteros& B);
void restar (const cj_enteros& B);

bool contiene (int e) const;
int max (void) const;
int min (void) const;
int card (void) const;

cj_enteros& operator=(const cj_enteros& B);

bool operator== (const cj_enteros& B) const;
bool operator!= (const cj_enteros& B) const;

void print (ostream& os);

private:
struct node {
node* next;
int info;
};
node* pri;
node* copia_conj(node* p);
void esb_conj(node* p);
node* ordenar_creciente(node* p);
};


#endif

# cat cj_enteros.cpp
#include "cj_enteros.hpp"

cj_enteros::cj_enteros(void) {
pri = NULL;
}

cj_enteros::cj_enteros(const cj_enteros& B) {
pri = copia_conj(B.pri);
}

cj_enteros::node* cj_enteros::copia_conj(node* p) {
if(p == NULL) return NULL;
else {
node * n = new node;
n -> info = p -> info;
p = p -> next;
n -> next = copia_conj(p);
return n;
}
}

void cj_enteros::esb_conj(node* p) {
if(p == NULL) return ;
else {
esb_conj(p -> next);
delete p;
}
}

cj_enteros::~cj_enteros(void) {
esb_conj(pri);
}

bool cj_enteros::contiene(int e) const {
node* aux = pri;
while(aux != NULL && aux -> info != e) {
aux = aux -> next;
}
if(aux == NULL) return false;
else return true;
}

int cj_enteros::max (void) const {
if(pri == NULL) return 0;
else if(pri -> next == NULL) return pri -> info;
else {
node* n = pri -> next;
node* max = pri;
while(n != NULL) {
if(n -> info > max -> info) {
max = n;
}
n = n -> next;
}
return max -> info;
}
}

int cj_enteros::min (void) const {
if(pri == NULL) return 0;
else if(pri -> next == NULL) return pri -> info;
else {
node* n = pri -> next;
node* min = pri;
while(n != NULL) {
if(n -> info < min -> info) {
min = n;
}
n = n -> next;
}
return min -> info;
}
}

int cj_enteros::card (void) const {
node* n = pri;
int i = 0;
if(n == NULL) return 0;
else {
while(n != NULL) {
n = n -> next;
i++;
}
return i;
}
}


/*void cj_enteros::inserta(int e) {
if(!contiene(e)) {
if(pri == NULL) {
node* n = new node;
pri = n;
n -> info = e;
pri -> next = NULL;
}
else {
node* n = new node;
node* aux = pri -> next;
pri -> next = n;
n -> info = e;
n-> next = aux;
}
}
}*/

void cj_enteros::inserta(int e) {
if(!contiene(e)) {
if(pri == NULL) {
node* n = new node;
pri = n;
n -> info = e;
pri -> next = NULL;
}
else {
node* n = pri;
bool insertat = false;
while(n -> next != NULL && !insertat){
if((n -> info < e) && ((n -> next) -> info > e)) { // s'inserta al mig
node* aux = new node;
node* aux2 = n -> next;
n -> next = aux;
aux -> next = aux2;
aux -> info = e;
insertat = true;
}
else if(n -> info < e && (n -> next) -> info < e) { // avan? n
n = n -> next;
}
else if(n -> info > e) {
node* aux = new node;
aux -> next = n;
aux -> info = e;
pri = aux;
insertat = true;
}
}
if(!insertat) {
if(n -> info < e) {
node* aux = new node;
n -> next = aux;
aux -> info =e;
aux -> next = NULL;
}
else {
node* aux = new node;
pri = aux;
pri -> next = n;
aux -> info = e;
}
}
}
}
}

/*void cj_enteros::unir (const cj_enteros& B) {
node* n = pri;
while(n -> next != NULL) n = n -> next;
n -> next = B.pri;
}*/
void cj_enteros::unir (const cj_enteros& B) {
node* n = B.pri;
while(n != NULL) {
inserta(n -> info);
n = n -> next;
}
}

bool cj_enteros::operator== (const cj_enteros& B) const {
if(card() != B.card()) return false;
else {
node* aux = pri;
node* aux2 = B.pri;
while(aux != NULL && (aux -> info == aux2 -> info)) {
aux = aux -> next;
aux2 = aux2 -> next;
}
if(aux == NULL) return true;
else return false;
}
}

void cj_enteros::print (ostream& os) {
node* aux;
//aux = ordenar_creciente(pri);
aux = pri;
cout << "[";
while(aux != NULL) {
os << " " << aux -> info;
aux = aux -> next;
}
cout << "]" << endl;
}

// ----------------------------------------------------------

# g++ -o cj_enteros cj_enteros.cpp
/usr/lib/gcc-lib/i486-linux/3.3.3/../../../crt1.o(.text+0x18): In 
function `_start':
../sysdeps/i386/elf/start.S:98: undefined reference to `main'
collect2: ld returned 1 exit status

Any ideas?

Thanks and best regards


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: c++ compiling problem. undefined reference to main
  2004-04-06 20:44 c++ compiling problem. undefined reference to main srg
@ 2004-04-06 20:55 ` Jad Saklawi
  2004-04-08  5:41 ` How to execute a process in background by exec functions? Wen Guangcheng
  1 sibling, 0 replies; 7+ messages in thread
From: Jad Saklawi @ 2004-04-06 20:55 UTC (permalink / raw)
  To: srg; +Cc: linux-c-programming

srg wrote:

> Hello:
>
> We have a problem compiling c++ code.
> At the bottom of this message you can see the compiler error.
>
> [..]

> # g++ -o cj_enteros cj_enteros.cpp
> /usr/lib/gcc-lib/i486-linux/3.3.3/../../../crt1.o(.text+0x18): In 
> function `_start':
> ../sysdeps/i386/elf/start.S:98: undefined reference to `main'
> collect2: ld returned 1 exit status


 Yes, your code cj_enteros.cpp doesn`t have a main function. To compile 
it do g++ -c cj_entros.cpp you will get  cj_entros.o. To link to 
hello.cpp use g++ cj_entros.o hello.c -o youroutput


Greets,
Jad

^ permalink raw reply	[flat|nested] 7+ messages in thread

* RE: c++ compiling problem. undefined reference to main
@ 2004-04-06 21:09 Sandro Dangui
  0 siblings, 0 replies; 7+ messages in thread
From: Sandro Dangui @ 2004-04-06 21:09 UTC (permalink / raw)
  To: srg, linux-c-programming


Where is the main() method? Your file cj_enteros.cpp does not define it.


-----Original Message-----
From: linux-c-programming-owner@vger.kernel.org
[mailto:linux-c-programming-owner@vger.kernel.org] On Behalf Of srg
Sent: Tuesday, April 06, 2004 5:44 PM
To: linux-c-programming@vger.kernel.org
Subject: c++ compiling problem. undefined reference to main


Hello:

We have a problem compiling c++ code.
At the bottom of this message you can see the compiler error.

Here are the details:

# gcc -v
Reading specs from /usr/lib/gcc-lib/i486-linux/3.3.3/specs
Configured with: ../src/configure -v 
--enable-languages=c,c++,java,f77,pascal,objc,ada,treelang --prefix=/usr 
--mandir=/usr/share/man --infodir=/usr/share/info 
--with-gxx-include-dir=/usr/include/c++/3.3 --enable-shared 
--with-system-zlib --enable-nls --without-included-gettext 
--enable-__cxa_atexit --enable-clocale=gnu --enable-debug 
--enable-java-gc=boehm --enable-java-awt=xlib --enable-objc-gc i486-linux
Thread model: posix gcc version 3.3.3 (Debian)

# g++ -v
Reading specs from /usr/lib/gcc-lib/i486-linux/3.3.3/specs
Configured with: ../src/configure -v 
--enable-languages=c,c++,java,f77,pascal,objc,ada,treelang --prefix=/usr 
--mandir=/usr/share/man --infodir=/usr/share/info 
--with-gxx-include-dir=/usr/include/c++/3.3 --enable-shared 
--with-system-zlib --enable-nls --without-included-gettext 
--enable-__cxa_atexit --enable-clocale=gnu --enable-debug 
--enable-java-gc=boehm --enable-java-awt=xlib --enable-objc-gc i486-linux
Thread model: posix gcc version 3.3.3 (Debian)

# cat hello.cpp
#include <iostream>

using namespace std;

int main(int argc,char** argv)
{
cout << "hello" << endl;
}
# g++ -o hello hello.cpp
# ./hello
hello

At this point all is OK, now comes the problem:

# cat cj_enteros.hpp

#ifndef _CJ_ENTEROS_HPP_
#define _CJ_ENTEROS_HPP_

#include <iostream>

class cj_enteros {

public:
cj_enteros(void);
cj_enteros(const cj_enteros& B);

~cj_enteros(void);

void inserta (int);

void unir (const cj_enteros& B);
void intersectar (const cj_enteros& B);
void restar (const cj_enteros& B);

bool contiene (int e) const;
int max (void) const;
int min (void) const;
int card (void) const;

cj_enteros& operator=(const cj_enteros& B);

bool operator== (const cj_enteros& B) const;
bool operator!= (const cj_enteros& B) const;

void print (ostream& os);

private:
struct node {
node* next;
int info;
};
node* pri;
node* copia_conj(node* p);
void esb_conj(node* p);
node* ordenar_creciente(node* p);
};


#endif

# cat cj_enteros.cpp
#include "cj_enteros.hpp"

cj_enteros::cj_enteros(void) {
pri = NULL;
}

cj_enteros::cj_enteros(const cj_enteros& B) {
pri = copia_conj(B.pri);
}

cj_enteros::node* cj_enteros::copia_conj(node* p) {
if(p == NULL) return NULL;
else {
node * n = new node;
n -> info = p -> info;
p = p -> next;
n -> next = copia_conj(p);
return n;
}
}

void cj_enteros::esb_conj(node* p) {
if(p == NULL) return ;
else {
esb_conj(p -> next);
delete p;
}
}

cj_enteros::~cj_enteros(void) {
esb_conj(pri);
}

bool cj_enteros::contiene(int e) const {
node* aux = pri;
while(aux != NULL && aux -> info != e) {
aux = aux -> next;
}
if(aux == NULL) return false;
else return true;
}

int cj_enteros::max (void) const {
if(pri == NULL) return 0;
else if(pri -> next == NULL) return pri -> info;
else {
node* n = pri -> next;
node* max = pri;
while(n != NULL) {
if(n -> info > max -> info) {
max = n;
}
n = n -> next;
}
return max -> info;
}
}

int cj_enteros::min (void) const {
if(pri == NULL) return 0;
else if(pri -> next == NULL) return pri -> info;
else {
node* n = pri -> next;
node* min = pri;
while(n != NULL) {
if(n -> info < min -> info) {
min = n;
}
n = n -> next;
}
return min -> info;
}
}

int cj_enteros::card (void) const {
node* n = pri;
int i = 0;
if(n == NULL) return 0;
else {
while(n != NULL) {
n = n -> next;
i++;
}
return i;
}
}


/*void cj_enteros::inserta(int e) {
if(!contiene(e)) {
if(pri == NULL) {
node* n = new node;
pri = n;
n -> info = e;
pri -> next = NULL;
}
else {
node* n = new node;
node* aux = pri -> next;
pri -> next = n;
n -> info = e;
n-> next = aux;
}
}
}*/

void cj_enteros::inserta(int e) {
if(!contiene(e)) {
if(pri == NULL) {
node* n = new node;
pri = n;
n -> info = e;
pri -> next = NULL;
}
else {
node* n = pri;
bool insertat = false;
while(n -> next != NULL && !insertat){
if((n -> info < e) && ((n -> next) -> info > e)) { // s'inserta al mig
node* aux = new node;
node* aux2 = n -> next;
n -> next = aux;
aux -> next = aux2;
aux -> info = e;
insertat = true;
}
else if(n -> info < e && (n -> next) -> info < e) { // avan? n n = n ->
next; } else if(n -> info > e) {
node* aux = new node;
aux -> next = n;
aux -> info = e;
pri = aux;
insertat = true;
}
}
if(!insertat) {
if(n -> info < e) {
node* aux = new node;
n -> next = aux;
aux -> info =e;
aux -> next = NULL;
}
else {
node* aux = new node;
pri = aux;
pri -> next = n;
aux -> info = e;
}
}
}
}
}

/*void cj_enteros::unir (const cj_enteros& B) {
node* n = pri;
while(n -> next != NULL) n = n -> next;
n -> next = B.pri;
}*/
void cj_enteros::unir (const cj_enteros& B) {
node* n = B.pri;
while(n != NULL) {
inserta(n -> info);
n = n -> next;
}
}

bool cj_enteros::operator== (const cj_enteros& B) const {
if(card() != B.card()) return false;
else {
node* aux = pri;
node* aux2 = B.pri;
while(aux != NULL && (aux -> info == aux2 -> info)) {
aux = aux -> next;
aux2 = aux2 -> next;
}
if(aux == NULL) return true;
else return false;
}
}

void cj_enteros::print (ostream& os) {
node* aux;
//aux = ordenar_creciente(pri);
aux = pri;
cout << "[";
while(aux != NULL) {
os << " " << aux -> info;
aux = aux -> next;
}
cout << "]" << endl;
}

// ----------------------------------------------------------

# g++ -o cj_enteros cj_enteros.cpp
/usr/lib/gcc-lib/i486-linux/3.3.3/../../../crt1.o(.text+0x18): In 
function `_start':
../sysdeps/i386/elf/start.S:98: undefined reference to `main'
collect2: ld returned 1 exit status

Any ideas?

Thanks and best regards

-
To unsubscribe from this list: send the line "unsubscribe
linux-c-programming" in the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 7+ messages in thread

* RE: c++ compiling problem. undefined reference to main
@ 2004-04-06 21:13 Huber, George K RDECOM CERDEC STCD SRI
  0 siblings, 0 replies; 7+ messages in thread
From: Huber, George K RDECOM CERDEC STCD SRI @ 2004-04-06 21:13 UTC (permalink / raw)
  To: linux-c-programming



-----Original Message-----
From: linux-c-programming-owner@vger.kernel.org
[mailto:linux-c-programming-owner@vger.kernel.org]On Behalf Of srg
Sent: Tuesday, April 06, 2004 4:44 PM
To: linux-c-programming@vger.kernel.org
Subject: c++ compiling problem. undefined reference to main


Hello:

We have a problem compiling c++ code.
At the bottom of this message you can see the compiler error.

Here are the details:

[snip....]

># cat hello.cpp
>#include <iostream>

>using namespace std;

>int main(int argc,char** argv)
>{
>   cout << "hello" << endl;
>}
># g++ -o hello hello.cpp
># ./hello
>hello

>At this point all is OK, now comes the problem:

as it should be, you have coded, compiled and linked
a simple executable.

># cat cj_enteros.hpp

>#ifndef _CJ_ENTEROS_HPP_
>#define _CJ_ENTEROS_HPP_

>#include <iostream>

[snip....]


># g++ -o cj_enteros cj_enteros.cpp
>/usr/lib/gcc-lib/i486-linux/3.3.3/../../../crt1.o(.text+0x18): In 
>function `_start':
>../sysdeps/i386/elf/start.S:98: undefined reference to `main'
>collect2: ld returned 1 exit status

again, all is as it should be.  Remember that all executables must define
an entry point -- i.e. int main(int, char**).  When the program is linked
it is arranged that the C startup code calls this function and you program
begins executing.  There is no entry point defined in cj_enteros.cpp and 
thus you get the error.  A hint to this is to notice where the error was
generated (in this case it was from the linker/loader - ld).  Try this:

1) execute this command:
   g++ -c cj_enteros.cpp -o cj_enteros.o

   this will produce an object file (cj_enteros.o) but not attempt to link
   the file.

2) now create a new cpp file `test_enteros.cpp', in the same directory that 
   contains the cj_enteros.[cpp|h] files, that contains the following:

   #include <iostream>

   using namespace std;

   int main(int argc,char** argv)
   {
      cj_enteros     cls;
   }

   and try to compile it using the following command:

   g++ test_enteros.cpp -o test_enteros

   this command should fail, furthermore if you look at the errors you will
   see that it is failing in the compilation phase.  Basically this is
telling
   you that the compiler does not know what cj_enteros is.  Now to the test 
   file add the following line:

   #include "enteros.h"

   immediately after the inclusion of iostream, and try to compile it again
   using this command:

   g++ test_enteros.cpp -o test_enteros

   this command will also fail (you should compare the differences between
the
   two outputs).  This command will now fail in the linker with an
unresolved
   reference (as I recall the error).  What has happened, is that the
#include 
   file has provided enough information to the C++ compiler to be able to
perform 
   type checking on the class however no implementation of the class and its

   functions have been provided.

   Finally, try the following series of command:

   g++ -c cj_enteros.cpp -o cj_enteros.o
   g++ test_enteros.coo cj_enteros.o -o test_enteros

   Now, these two commands should execute correctly producting the
executable.

Hope this helps,

George

^ permalink raw reply	[flat|nested] 7+ messages in thread

* How to execute a process in background by exec functions?
  2004-04-06 20:44 c++ compiling problem. undefined reference to main srg
  2004-04-06 20:55 ` Jad Saklawi
@ 2004-04-08  5:41 ` Wen Guangcheng
  2004-04-08  8:56   ` Glynn Clements
  2004-04-08 13:25   ` John T. Williams
  1 sibling, 2 replies; 7+ messages in thread
From: Wen Guangcheng @ 2004-04-08  5:41 UTC (permalink / raw)
  To: linux-c-programming

Hello All,
I am trying to execute a process in background by exec functions.
But it failed when I call the function of execv by
execv("/home/wen/daemon &", NULL);
The error is ENOENT(No such file or directory).  
Would anyone tell me how to do it?
Thanks in advance.

Best regards,

--Wen

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: How to execute a process in background by exec functions?
  2004-04-08  5:41 ` How to execute a process in background by exec functions? Wen Guangcheng
@ 2004-04-08  8:56   ` Glynn Clements
  2004-04-08 13:25   ` John T. Williams
  1 sibling, 0 replies; 7+ messages in thread
From: Glynn Clements @ 2004-04-08  8:56 UTC (permalink / raw)
  To: Wen Guangcheng; +Cc: linux-c-programming


Wen Guangcheng wrote:

> I am trying to execute a process in background by exec functions.
> But it failed when I call the function of execv by
> execv("/home/wen/daemon &", NULL);
> The error is ENOENT(No such file or directory).  

That's because you don't have an executable called "daemon &" in
/home/wen.

> Would anyone tell me how to do it?

For the record, system() works roughly like this:

	int system(const char *command)
	{
		pid_t pid;
		int status;
	
		pid = fork();
	
		if (pid < 0)
			return -1;
	
		if (pid == 0)
		{
			execl("/bin/sh", "sh", "-c", command, 0);
			_exit(127);
		}
	
		if (waitpid(pid, &status, 0) < 0)
			return -1;
	
		return status;
	}

[The actual system() function also changes the signal handling and
checks for errors; for simplicity, these have been omitted from the
above code.]

First, it calls fork() to create a new process. The child process
calls one of the exec*() functions to execute the shell, with the
command as an argument (note: the various exec*() functions shouldn't
return; if they succeed, the specified program is run in place of your
program). The parent process calls one of the wait*() functions to
wait for the child process to terminate.

If you want to run a specific program directly (rather than via the
shell), you would just run that program in place of /bin/sh, e.g.:

	execl("/home/wen/daemon", "daemon", NULL);

Note that you have to specify argv[0] explicitly.

If you want that program to run in the background, the solution is
simply to omit the call to wait (or waitpid, etc) from the parent.

Also, note that features such as command pipelines, redirection, use
of the "~" syntax for the home directory etc are all provided by the
shell. You can't use shell syntax (e.g. "prog1 | prog2",
"prog <infile >outfile", "prog ~/file" etc) in the strings which are
passed to the exec*() functions unless you are actually executing the
shell (as system() does).

-- 
Glynn Clements <glynn.clements@virgin.net>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: How to execute a process in background by exec functions?
  2004-04-08  5:41 ` How to execute a process in background by exec functions? Wen Guangcheng
  2004-04-08  8:56   ` Glynn Clements
@ 2004-04-08 13:25   ` John T. Williams
  1 sibling, 0 replies; 7+ messages in thread
From: John T. Williams @ 2004-04-08 13:25 UTC (permalink / raw)
  To: Wen Guangcheng; +Cc: linux-c-programming

running a process in the background simply means not waiting for it to
complete.  So a parent process that wanted to make a child process run
ls in the ´background¡ would do something like this: (again this should
be treated as sudo code that just looks a lot like C)

_______________________CODE__________________
int
main (int argC, char** argV) {
int bg = 1;  // test condition for running in the background
int pid; 
int status;

if( (pid = fork()) ==  0 )   {
	/* child code starts here */
	execl(´/bin/ls¡, ´/bin/ls¡, 0 ); 

} else {
	/* this is the critical point, if you call wait, the parent 	process
stops until the child process returns, which would be fg 	behavior (at
least in a shell).  If the 
	parent doesn't call wait (or waitpid), then both parent and 	child will
run at the same time. (i.e. The child runs in the 	background */ 
	if( !bg) {  
		wait(&status);
	}
	/* Parent Code Starts here */
}

return 0;
}
_________________________END CODE_____________________

There are also considerations about input and output, and bringing the
process from the background to the forground, and sending it back into
the background, and so forth.  If your really interested in how this
works and how to address the more complex issues, I suggest that you
read the source code for GNU BASH, which is freely available (at this
point everyone must think I'm a spokes person for GNU)  or Read the
O'Reilly books "Learning the bash Shell, 2nd Edition", and "Practical C
Programming, 3rd Edition"



On Thu, 2004-04-08 at 01:41, Wen Guangcheng wrote:
> Hello All,
> I am trying to execute a process in background by exec functions.
> But it failed when I call the function of execv by
> execv("/home/wen/daemon &", NULL);
> The error is ENOENT(No such file or directory).  
> Would anyone tell me how to do it?
> Thanks in advance.
> 
> Best regards,
> 
> --Wen
> -
> To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

-
To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2004-04-08 13:25 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-04-06 20:44 c++ compiling problem. undefined reference to main srg
2004-04-06 20:55 ` Jad Saklawi
2004-04-08  5:41 ` How to execute a process in background by exec functions? Wen Guangcheng
2004-04-08  8:56   ` Glynn Clements
2004-04-08 13:25   ` John T. Williams
  -- strict thread matches above, loose matches on Subject: below --
2004-04-06 21:09 c++ compiling problem. undefined reference to main Sandro Dangui
2004-04-06 21:13 Huber, George K RDECOM CERDEC STCD SRI

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).