Gcc commands in linux

команда gcc в Linux с примерами

GCC означает GNU Compiler Collections, которая используется для компиляции в основном языка C и C ++. Он также может быть использован для компиляции Objective C и Objective C ++. Наиболее важной опцией, требуемой при компиляции файла исходного кода, является имя исходной программы, остальные аргументы необязательны, такие как предупреждение, отладка, компоновка библиотек, объектный файл и т. Д. Различные параметры команды gcc позволяют пользователю остановить компиляцию Процесс на разных этапах.

Синтаксис:

Пример: это скомпилирует файл source.c и выдаст выходной файл как файл.out, который является именем по умолчанию для выходного файла, заданного компилятором gcc, который может быть выполнен с использованием ./a.out

Наиболее полезные опции с примерами: Здесь source.c — это файл кода программы C.

    -o opt: это скомпилирует файл source.c, но вместо того, чтобы дать имя по умолчанию, следовательно, выполненное с помощью ./opt , он выдаст выходной файл как opt. -o для опции выходного файла.

-Werror: Это скомпилирует источник и покажет предупреждение, если в программе есть какая-либо ошибка, -W для выдачи предупреждений.

-Wall: при этом будут проверяться не только ошибки, но и предупреждения всех видов, например ошибки неиспользуемых переменных. Рекомендуется использовать этот флаг при компиляции кода.

-ggdb3: эта команда дает нам права на отладку программы с использованием gdb, которая будет описана позже, опция -g предназначена для отладки.

-lm: эта команда связывает библиотеку math.h с нашим исходным файлом, опция -l используется для связывания конкретной библиотеки, для math.h мы используем -lm.

-std = c11: эта команда будет использовать версию стандартов c11 для компиляции программы source.c , которая позволяет определять переменные при инициализации цикла, также с использованием более новой версии стандартов.

-c: эта команда компилирует программу и передает объектный файл в качестве вывода, который используется для создания библиотек.

-v: эта опция используется для подробной цели.

Источник

How To Compile And Run a C/C++ Code In Linux

I am a new Linux user and student who used to write C or C++ programs on MS-Windows. Now, I am using Ubuntu Linux. How can I compile a C or C++ program on Linux operating systems using bash Terminal application?

To compile a C or C++ program on any Linux distro such as Ubuntu, Red Hat, Fedora, Debian and other Linux distro you need to install:

Tutorial details
Difficulty level Easy
Root privileges No
Requirements GNU C/C++ compiler
Est. reading time 2 minutes
  1. GNU C and C++ compiler collection
  2. Development tools
  3. Development libraries
  4. IDE or text editor to write programs

If you are using Fedora, Red Hat, CentOS, or Scientific Linux, use the following yum command to install GNU c/c++ compiler:
# yum groupinstall ‘Development Tools’
If you are using Debian or Ubuntu Linux, type the following apt-get command to install GNU c/c++ compiler:
$ sudo apt-get update
$ sudo apt-get install build-essential manpages-dev

Step #2: Verify installation

Type the following command to display the version number and location of the compiler on Linux:
$ whereis gcc
$ which gcc
$ gcc —version
Sample outputs:

Fig. 01: GNU C/C++ compilers on Linux

How to Compile and Run C/C++ program on Linux

Create a file called demo.c using a text editor such as vi, emacs or joe:

How do I compile the program on Linux?

Use any one of the following syntax to compile the program called demo.c:

In this example, compile demo.c, enter:

If there is no error in your code or C program then the compiler will successfully create an executable file called demo in the current directory, otherwise you need fix the code. To verify this, type:
$ ls -l demo*

How do I run or execute the program called demo on Linux?

Simply type the the program name:
$ ./demo
OR
$ /path/to/demo
Samples session:

Animated gif 01: Compile and run C and C++ program demo

Compiling and running a simple C++ program

Create a program called demo2.C as follows:

To compile this program, enter:

To run this program, type:

  • No ads and tracking
  • In-depth guides for developers and sysadmins at Opensourceflare✨
  • Join my Patreon to support independent content creators and start reading latest guides:
    • How to set up Redis sentinel cluster on Ubuntu or Debian Linux
    • How To Set Up SSH Keys With YubiKey as two-factor authentication (U2F/FIDO2)
    • How to set up Mariadb Galera cluster on Ubuntu or Debian Linux
    • A podman tutorial for beginners – part I (run Linux containers without Docker and in daemonless mode)
    • How to protect Linux against rogue USB devices using USBGuard

Join Patreon

How do I generate symbolic information for gdb and warning messages?

The syntax is as follows C compiler:
cc -g -Wall input.c -o executable
The syntax is as follows C++ compiler:
g++ -g -Wall input.C -o executable

How do I generate optimized code on a Linux machine?

The syntax is as follows C compiler:
cc -O input.c -o executable
The syntax is as follows C++ compiler:
g++ -O -Wall input.C -o executable

How do I compile a C program that uses math functions?

The syntax is as follows when need pass the -lm option with gcc to link with the math libraries:
cc myth1.c -o executable -lm

How do I compile a C++ program that uses Xlib graphics functions?

The syntax is as follows when need pass the -lX11 option with gcc to link with the Xlib libraries:
g++ fireworks.C -o executable -lX11

How do I compile a program with multiple source files?

The syntax is as follows if the source code is in several files (such as light.c, sky.c, fireworks.c):
cc light.c sky.c fireworks.c -o executable
C++ syntax is as follows if the source code is in several files:
g++ ac.C bc.C file3.C -o my-program-name
See gcc(1) Linux and Unix man page for more information.

🐧 Get the latest tutorials on Linux, Open Source & DevOps via

Category List of Unix and Linux commands
Documentation help • mandb • man • pinfo
Disk space analyzers df • duf • ncdu • pydf
File Management cat • cp • less • mkdir • more • tree
Firewall Alpine Awall • CentOS 8 • OpenSUSE • RHEL 8 • Ubuntu 16.04 • Ubuntu 18.04 • Ubuntu 20.04
Linux Desktop Apps Skype • Spotify • VLC 3
Modern utilities bat • exa
Network Utilities NetHogs • dig • host • ip • nmap
OpenVPN CentOS 7 • CentOS 8 • Debian 10 • Debian 8/9 • Ubuntu 18.04 • Ubuntu 20.04
Package Manager apk • apt
Processes Management bg • chroot • cron • disown • fg • glances • gtop • jobs • killall • kill • pidof • pstree • pwdx • time • vtop
Searching ag • grep • whereis • which
Shell builtins compgen • echo • printf
Text processing cut • rev
User Information groups • id • lastcomm • last • lid/libuser-lid • logname • members • users • whoami • who • w
WireGuard VPN Alpine • CentOS 8 • Debian 10 • Firewall • Ubuntu 20.04

Comments on this entry are closed.

thank you so much ur solution gave a relief…
it made my gcc command to work

Very nice article…..

In Fig. 01, you did “whereis” twice. Shouldn’t it be “which” the second time? Thanks for the tut though. Big fan!

Another mistake, please change the following comment:
## assuming that executable-file-name.c exists ##
to
## assuming that program-source-code.c exists in the current directory ##

how to compile a program that use math functions and other things?

For the sake of supplying an example, let’s say you want to use the cosine function. This is supplied in the Linux math library. The cosine function is called ‘cos()’. Similarly, the sine function is called ‘sin()’.

First, to find information about how to use them, type “man cos” in a terminal session. This gives you the manual page for the cosine function. The output from ‘man’ may vary for your system, but it likely tells you three things: 1. first, include the math.h header, 2. cos() takes a ‘double’ as its argument and it returns a double as its output, 3. to build your program, tell the C compiler to include the math library (-lm).

Here’s a sample program that does all of this:

Love it!
Thank you. I have a trouble in doing step 1 and 2. But they are fixed.

thank u ,
need pdf of the commands guide to access the c/c++/java.

to compile and run a c++ program in ubuntu follow these simple steps:
1 open terminal window.
2 type “gedit” .
3 A gedit window will appear whereyou can write your program.
4 save your program as “filename.cpp” on desktop, “.cpp” is compulsory.
5 open terminal again and type “cd Desktop”.
6 In second line type “g++ filename.cpp”.
7 Type “./a.out”.
NOW YOUR WILL RUN.

very nice to your step.
thanks

Thanks! This article really helped me to find the GNU compiler in a Linux Operating System and showed me how to compile a C program.

dear sir,
what is the procedure to run .cpp program in linux distro debian 5 ?

just about to get around to learning c along with teaching my sons it. i had no idea where to start, the first page i checked is a bumper bonanza.

Источник

5 UNIX / Linux gcc Command Examples

What is gcc?

Gcc is the default GNU compiler. Its a very popular and powerful compiler used for compilation of C code.

5 gcc Examples

1. Basic compilation using gcc

For a basic compilation, gcc works as :

This command will produce an output file with default name a.out

2. Provide an output file name using -o

If a specific output file name is desired then this can be done using -o option.

The command above will produce an output file with name helloworld

3. Activate some basic warnings using -Wall

If some basic warnings (related to return type, typecasting etc) need to be activated then this can be done using the -Wall option.

The above command turns on a basic set of warnings while compilation.

4. Generate an object file using -c option

There are 4 stages in the compilation process. If intermediary output just before the linking stage is required then use the -c option.

The command above would produce a file named helloworld.o

5. Generate a preprocessed file using -E

If an intermediary output after the preprocessing stage is required then use the -E option.

The command above would produce a preprocessed output on stdout. The output can be redirected into a file to save it

Syntax and Options

Short Option Long Option Option Description
-c Compile or assemble the source files, but do not link. The linking stage simply is not done. The ultimate output is in the form of an object file for each source file.
-S Stop after the stage of compilation proper; do not assemble. The output is in the form of an assembler code file for each non-assembler input file specified.
-E Stop after the preprocessing stage; do not run the compiler proper. The output is in the form of preprocessed source code, which is sent to the standard output.
-v Print (on standard error output) the commands executed to run the stages of compilation. Also print the version number of the compiler driver program and of the preprocessor and the compiler proper.
-### Like -v except the commands are not executed and arguments are quoted unless they contain only alphanumeric characters or “./-_”. This is useful for shell scripts to capture the driver-generated command lines.
-pipe Use pipes rather than temporary files for communication between the various stages of compilation. This fails to work on some systems where the assembler is unable to read from a pipe; but the GNU assembler has no trouble.
–help Print (on the standard output) a description of the command line options understood by gcc. If the -v option is also specified then –help will also be passed on to the various processes invoked by gcc, so that they can display the command line options they accept. If the -Wextra option has also been specified (prior to the –help option), then command line options which have no documentation
associated with them will also be displayed.
–target-help Print (on the standard output) a description of target-specific command line options for each tool. For some targets extra target-specific information may also be printed.

gpl
gfdl
fsf-funding
cpp
gcov
as
ld
gdb
adb
dbx
sdb

Источник

Читайте также:  Windows or linux website hosting
Оцените статью