“Hacker” : the misnomer

Who is  a Hacker?

There is a common belief(created by media….again),even among geeks  that hacker is a person “who breaks into computers and is involved in mischievous and illegal activities related to computers”. Unfortunately, the above explanation in quotes would better suit the word “Cracker”. Then who is a hacker?

It is best said in the words of  Richard M Stallman.

Richard M Stallman has made it clear many times, “A hacker is someone who enjoys playful cleverness—not necessarily with computers. The programmers in the old MIT free software community of the 60s and 70s referred to themselves as hackers. Around 1980, journalists who discovered the hacker community mistakenly took the term to mean “security breaker.


compilation error : undefined reference to ‘main’

Question

I have been learning C back from basics. Recently i tried out a simple program myHello.c , which contained the following code :

1. //myHello.c

2. #include”hello.h”

3. int main(void)

4. {

5. hello(“WORLD”);

6. return 0;

7. }

next, i created hello.h that contained the following code :

1. //hello.h

2. void hello(const char* name);

Finally i created helloFunc.c that contained the declaration for hello() :

1. //helloFunc.c

2. #include<stdio.h>

3. #include”hello.h”

4. void hello(const char* name)

5. {

6. printf(“hello, %s \n”,name);

7. }

I compiled the C sources as follow :

gcc -Wall myHello.c helloFunc.c -o newHello

I received the following error :

/usr/lib/gcc/i486-linux-gnu-4.3.3/../../../../libcrt1.o: In function ‘_start’ :

/build/buildd/libc-2.9/csu/../sysdeps/i386/elf/start.S:115: undefined reference to ‘main’

collect2: ld returned 1 exit status

Solution:

just use a Makefile.

You need to build them using:

gcc -c helloFunc.c -o helloFunc.o

gcc -c myHello.c -o myHello.o

gcc myHello.o helloFunc.o -o hello