Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 9219473
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 18, 20262026-06-18T03:07:30+00:00 2026-06-18T03:07:30+00:00

When I compile a C program, for ease I’ve been including the source file

  • 0

When I compile a C program, for ease I’ve been including the source file for a certain header at the end. So, if main.c includes util.h, util.h will have all the headers util.c will use, outlines types or structs, etc, then at the very end it include util.c. Then, when I compile I only have to use gcc main.c -o main, and the rest is all taken care of.

I’ve been looking up C coding standards, trying to figure out what the best way to do things is, and there are just so many, and so many conflicting opinions I don’t know what to think. Why do so many places reccomend compiling object files individually instead of including all of them in a web? util never touches anything but util.c, so the two are perfectly independent, and in theory (my theory) it would be fine, but I’m probably wrong since this is computer science and people are wrong even when they’re right, so if I’m already wrong I’m probably wrong.

Some people say header files should ONLY be prototypes, and the source file be the one that includes it, and it’s necessary system headers. From purely as aesthetic point of view I much prefer having all the info (types, system headers used, prototypes) in the header (in this case util.h) and having ONLY function code in util.c (excluding one “#include “util.h”” at the very top).

I guess the point I’m getting at is, with all this stuff that works, selecting a method sounds arbitrary to someone who doesn’t understand the background (me). Please tell me why and what.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-18T03:07:31+00:00Added an answer on June 18, 2026 at 3:07 am

    While your program is small, this will work. At some point, however, your program will get large enough that recompiling the whole program every time you change one line is a pain in the rear.

    This — even more than avoiding editing huge files — is the reason to split up your program. If main.c and util.c are seperately compiled into object files, changing one line in a function in main.c will no longer require you to recompile all the code in util.c.

    By the time your program is made up of a few dozen files, this will be a big win.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

The following program will not compile: class Program { static void Main(string[] args) {
Question: Is it possible to compile a program on linux using a .dll file?
How do I save and compile a program in Befunge-93? What file extension do
I'm new to C programming. I want to compile C program using Make file.
I tried to compile following program (main.cu) with the nvcc (CUDA 5.0 RC): #include
When I try to compile my program, I get the following error: main.cpp: In
I tried to compile following program with gcc. 0 #include <stdio.h> 1 2 main
I'm trying to compile a program that have main.c and a lot of .c
I compile this program: #include <stdio.h> int main() { printf(Hello World!); return 0; }
When I compile my program, I get three undefined reference to 'PrintArgv(...)' errors. I

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.