C language Header files


 
Thread Tools Search this Thread
Top Forums Programming C language Header files
# 1  
Old 12-02-2010
C language Header files

Hi people I'm trying to do a school project and I've a situation wich is bothering me, imagine We've a program and that programs devided in multiple files "dotC1.c" and "dotC2.c" (for example) and they include our own header "header.h", and if We are using some libraries int both files it would make sence if I just include then in "header.h"? I'd apreciate if someone just help me thank you.
# 2  
Old 12-02-2010
The normal way to develop a C project is with C modules, like you describe: file1.c file2.c
plus there may be a header file, and a makefile

Let's call "file.h" the common required header file. Most projects though are much larger and there can be lots of specialized header files. I would take a look at some gnu source code to get an idea of how this all works.

Coreutils - GNU core utilities
# 3  
Old 12-02-2010
All header files do is declare the existence of a function. For instance, you have a library 'flogify' or something.

Code:
// flogify.c
#include <stdio.h>
#include "flogify.h"

int flogify(const char *oops)
{
        return(printf("flogify(%s)\n", oops));
}

Code:
//flogify.h
// #ifndef/#define/#endif prevents accidental multiple inclusion.
#ifndef __FLOGIFY_H__
#define __FLOGIFY_H__

extern int flogify(const char *);

#endif/*__FLOGIFY_H__*/

so a.c and b.c will know the function exists. But you have to link it, too, otherwise it'll complain it can't find it:

Code:
$ gcc a.c b.c -o flogify
/tmp/ccEYKx87.o: In function `main':
a.c:(.text+0x19): undefined reference to `flogify'
/tmp/ccNOvwnB.o: In function `other':
b.c:(.text+0xe): undefined reference to `flogify'
collect2: ld returned 1 exit status
$ gcc a.c b.c flogify.c -o flogify
$

In other words, header files just tell code how to use functions, they don't actually make the functions exist.
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Find header in a text file and prepend it to all lines until another header is found

I've been struggling with this one for quite a while and cannot seem to find a solution for this find/replace scenario. Perhaps I'm getting rusty. I have a file that contains a number of metrics (exactly 3 fields per line) from a few appliances that are collected in parallel. To identify the... (3 Replies)
Discussion started by: verdepollo
3 Replies

2. Programming

Where to get C header files?

Some of my c code compiles fine but others can't find header files. Colored_Chars.c:4:10: fatal error: graphics.h: No such file or directory Do I need to download them from some where? I found this. Is this what I need to do? Under Using DSL libraries - How do I use graphics.h in... (3 Replies)
Discussion started by: drew77
3 Replies

3. Shell Programming and Scripting

Merging two files to form header

Dear experts required you support to achieve below i need the file 2 values show on top of file 1 for mentioned valuesENTER CREDENTIALS or beside this please support to achieve the expected result . if I get the result 2 that will be better I have two files File 1 ENTER CREDENTIALS BILLING... (4 Replies)
Discussion started by: mirwasim
4 Replies

4. UNIX for Dummies Questions & Answers

Kernel Header Files

I'm trying to lookup the definition of the ext4 superblock schedule in the kernel header files, but I can't seem to locate the files. I'm running the most recent Raspian Debian Wheezy OS with kernel version 3.18. Any help is greatly appreciated. Thank you!! (1 Reply)
Discussion started by: ksmarine1980
1 Replies

5. UNIX for Dummies Questions & Answers

Merge all csv files in one folder considering only 1 header row and ignoring header of all others

Friends, I need help with the following in UNIX. Merge all csv files in one folder considering only 1 header row and ignoring header of all other files. FYI - All files are in same format and contains same headers. Thank you (4 Replies)
Discussion started by: Shiny_Roy
4 Replies

6. UNIX for Dummies Questions & Answers

Merge Files into Single with Header

Hi All, I am trying to merge all files in a directory that end in *.txt to a single file with the contents one after the other. This I can do using the cat function but how do I put the name of the file as a header for each one in the combined single file and seperate the contents from each... (2 Replies)
Discussion started by: pcg
2 Replies

7. Shell Programming and Scripting

Need Header for all splitted files - awk

Input file: i have a file and need to split into multiple files based on first column. i need the header for all the splitted files. I'm unable to get the header. $ cat log.txt id,mailtype,value 1252468812,yahoo,3.5 1252468812,hotmail,2.4 1252468819,yahoo,1.2 1252468812,msn,8.9... (6 Replies)
Discussion started by: mannefromdetroi
6 Replies

8. Shell Programming and Scripting

Removing Header from files before Concatenation

I need to concatenate the files of same type but with different names that conatin header. Before conactenating its mandatory to remove the header from the files .. and after concatenation the output file should contain header too. how to do it... thanks in advance. (4 Replies)
Discussion started by: amitpta
4 Replies

9. UNIX for Dummies Questions & Answers

grep data from header of files

Hello I want to grep data from header of the files . The header conatins data in this format . # $maint$ test1 # $product$ TTT I want to store maint name and product name with path of file . (12 Replies)
Discussion started by: getdpg
12 Replies
Login or Register to Ask a Question