How to compile and run a C program from the command line?
Jun 27, 2025 am 12:18 AMThe steps to compile a C program using g are: 1. Make sure to install the compiler; 2. Go to the source file directory; 3. Execute the g command to compile; 4. Run the generated executable file. G can be installed on Windows through MinGW or Visual Studio. Xcode tools are required for macOS, and Linux can be installed with package manager. When compiling, enter g hello.cpp -o hello to generate the executable file hello, and then run it with ./hello on Linux/macOS, and directly enter hello.exe on Windows. If you include multiple source files, you can compile all .cpp files together, such as g main.cpp utils.cpp helper.cpp -o myprogram. Frequently asked questions include forgetting the -o parameter causes the a.out file to be generated, insufficient execution permissions for Linux/macOS, and the ./ prefix required for Windows. Master these basic operations and successfully compile and run C programs.
It is actually not difficult to compile and run a C program, just master a few basic commands. The key is what compiler you are using, such as g or MSVC commonly used on Windows, while Linux and macOS generally use g or clang by default.

The following are several common situations to explain how to operate.

Installing the compiler is the prerequisite
To compile a C program on the command line, you must first make sure that the C compiler is installed on the system.
- Windows : You can install MinGW (including g) or use Visual Studio's command-line tools.
- macOS : It is recommended to install the Xcode command line tool, and you can do it by entering
xcode-select --install
. - Linux : Most distributions come with g, if not, you can install it with a package manager, such as
sudo apt install g
.
After the installation is complete, enter g --version
or clang --version
to confirm whether the installation is successful.

Compile and run a simple program with g
Suppose you write a program called hello.cpp
:
#include <iostream> int main() { std::cout << "Hello, world!" << std::endl; return 0; }
You can compile and run it with the following steps:
- Open a terminal or command line tool.
- Enter the directory where
hello.cpp
is located. - Enter the command:
g hello.cpp -o hello
This will generate an executable file with the name specified after you
-o
, here ishello
. - Then run it:
./hello
If you see the output "Hello, world!", it means everything is normal.
What if there are multiple source files?
As the project you write becomes larger and larger, it may be divided into multiple .cpp
files. for example:
-
main.cpp
-
utils.cpp
-
helper.cpp
This is how to compile:
g main.cpp utils.cpp helper.cpp -o myprogram
You can also compile it into the target file separately first and then link it, but it is more convenient for novices to compile it directly together.
Frequently Asked Questions and Precautions
- Forgot to add the
-o
parameter : This will generate an executable file (Linux/macOS) with the default namea.out
, which is not very intuitive. - Permission issue : If the runtime error is reported on Linux/macOS, you can use
chmod x 文件名
to add execution permissions. -
./
is not required on Windows : you can run by directly entering the executable file name, such ashello.exe
.
Basically that's it. I may be a little unfamiliar at first, but I will be proficient in trying a few more times.
The above is the detailed content of How to compile and run a C program from the command line?. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Yes, function overloading is a polymorphic form in C, specifically compile-time polymorphism. 1. Function overload allows multiple functions with the same name but different parameter lists. 2. The compiler decides which function to call at compile time based on the provided parameters. 3. Unlike runtime polymorphism, function overloading has no extra overhead at runtime, and is simple to implement but less flexible.

C has two main polymorphic types: compile-time polymorphism and run-time polymorphism. 1. Compilation-time polymorphism is implemented through function overloading and templates, providing high efficiency but may lead to code bloating. 2. Runtime polymorphism is implemented through virtual functions and inheritance, providing flexibility but performance overhead.

Yes, polymorphisms in C are very useful. 1) It provides flexibility to allow easy addition of new types; 2) promotes code reuse and reduces duplication; 3) simplifies maintenance, making the code easier to expand and adapt to changes. Despite performance and memory management challenges, its advantages are particularly significant in complex systems.

C destructorscanleadtoseveralcommonerrors.Toavoidthem:1)Preventdoubledeletionbysettingpointerstonullptrorusingsmartpointers.2)Handleexceptionsindestructorsbycatchingandloggingthem.3)Usevirtualdestructorsinbaseclassesforproperpolymorphicdestruction.4

Polymorphisms in C are divided into runtime polymorphisms and compile-time polymorphisms. 1. Runtime polymorphism is implemented through virtual functions, allowing the correct method to be called dynamically at runtime. 2. Compilation-time polymorphism is implemented through function overloading and templates, providing higher performance and flexibility.

People who study Python transfer to C The most direct confusion is: Why can't you write like Python? Because C, although the syntax is more complex, provides underlying control capabilities and performance advantages. 1. In terms of syntax structure, C uses curly braces {} instead of indentation to organize code blocks, and variable types must be explicitly declared; 2. In terms of type system and memory management, C does not have an automatic garbage collection mechanism, and needs to manually manage memory and pay attention to releasing resources. RAII technology can assist resource management; 3. In functions and class definitions, C needs to explicitly access modifiers, constructors and destructors, and supports advanced functions such as operator overloading; 4. In terms of standard libraries, STL provides powerful containers and algorithms, but needs to adapt to generic programming ideas; 5

C polymorphismincludescompile-time,runtime,andtemplatepolymorphism.1)Compile-timepolymorphismusesfunctionandoperatoroverloadingforefficiency.2)Runtimepolymorphismemploysvirtualfunctionsforflexibility.3)Templatepolymorphismenablesgenericprogrammingfo

C polymorphismisuniqueduetoitscombinationofcompile-timeandruntimepolymorphism,allowingforbothefficiencyandflexibility.Toharnessitspowerstylishly:1)Usesmartpointerslikestd::unique_ptrformemorymanagement,2)Ensurebaseclasseshavevirtualdestructors,3)Emp
