{"id":6603,"date":"2024-01-02T10:30:10","date_gmt":"2024-01-02T17:30:10","guid":{"rendered":"https:\/\/ioflood.com\/blog\/?p=6603"},"modified":"2024-01-02T10:30:49","modified_gmt":"2024-01-02T17:30:49","slug":"install-gcc-command-linux","status":"publish","type":"post","link":"https:\/\/ioflood.com\/blog\/install-gcc-command-linux\/","title":{"rendered":"Installing and Using the GCC Command: Linux User Guide"},"content":{"rendered":"<div class=\"wp-block-image\">\n<figure class=\"alignright size-full is-resized\"><img decoding=\"async\" src=\"https:\/\/ioflood.com\/blog\/wp-content\/uploads\/2024\/01\/Illustration-of-a-Linux-terminal-displaying-the-installation-of-the-gcc-command-the-GNU-Compiler-Collection-for-C-300x300.jpg\" alt=\"Illustration of a Linux terminal displaying the installation of the gcc command the GNU Compiler Collection for C\" width=\"300\" height=\"300\" title=\"\"><\/figure>\n<\/div>\n<p>Are you planning to compile your C programs in Linux? You might find the task daunting, especially if you&#8217;re a beginner. However, the &#8216;GCC&#8217; command, akin to a skilled translator, converts your C code into an executable program. It&#8217;s a tool that&#8217;s worth learning to install and use. GCC is readily available on most package management systems, making the installation process fairly straightforward.<\/p>\n<p><strong>In this guide, we will navigate you through the process of installing and using the GCC command in Linux.<\/strong> We will provide you with instructions for both APT and YUM-based distributions, delve into compiling GCC from source, installing a specific version, and finally, how to use the GCC command and ensure it&#8217;s installed correctly.<\/p>\n<p>So, let&#8217;s dive in and start installing GCC on your Linux system!<\/p>\n<h2>TL;DR: How Do I Install and Use the GCC Command in Linux?<\/h2>\n<blockquote><p>\n  In most Linux distributions, the GCC command comes pre-installed. However, if it&#8217;s not, you can install it in Debian based distributions like Ubuntu, by running the command <code>sudo apt-get install gcc<\/code>. For RPM-based distributions like CentOS, you would run the command <code>sudo yum install gcc<\/code>.\n<\/p><\/blockquote>\n<pre><code class=\"language-bash line-numbers\"># For Debian based distributions like Ubuntu\nsudo apt-get install gcc\n\n# For RPM-based distributions like CentOS\nsudo yum install gcc\n\n# Output:\n# 'gcc is already the newest version (4:7.4.0-1ubuntu2.3).'\n# OR\n# 'Package gcc is not available, but is referred to by another package...'\n<\/code><\/pre>\n<p>This is just a basic way to install the GCC command in Linux, but there&#8217;s much more to learn about installing and using GCC. Continue reading for more detailed information and advanced usage scenarios.<\/p>\n<h2>Getting Started with GCC Command in Linux<\/h2>\n<p>If you&#8217;re new to Linux or programming, you might be wondering what GCC is. GCC, short for GNU Compiler Collection, is a compiler system that supports various programming languages, including C, C++, Objective-C, Fortran, Ada, and more. It&#8217;s an essential tool for developers as it translates your source code into an executable program that your machine can understand.<\/p>\n<h3>Installing GCC with APT<\/h3>\n<p>If you&#8217;re using a Debian-based distribution like Ubuntu, you&#8217;ll likely be using the APT package manager. Here&#8217;s how you can install GCC:<\/p>\n<pre><code class=\"language-bash line-numbers\">sudo apt update\nsudo apt upgrade\nsudo apt install build-essential\n\n# Output:\n# 'Reading package lists... Done'\n# 'Building dependency tree'\n# 'Reading state information... Done'\n# 'gcc is already the newest version (4:7.4.0-1ubuntu2.3).'\n# OR\n# 'Setting up gcc (4:7.4.0-1ubuntu2.3) ...'\n<\/code><\/pre>\n<p>In this code block, we first update the package list and upgrade the system. Then, we install <code>build-essential<\/code> which includes GCC and other necessary packages for building software.<\/p>\n<h3>Installing GCC with YUM<\/h3>\n<p>For RPM-based distributions like CentOS, the YUM package manager is commonly used. Here&#8217;s how you can install GCC with YUM:<\/p>\n<pre><code class=\"language-bash line-numbers\">sudo yum check-update\nsudo yum upgrade\nsudo yum install gcc\n\n# Output:\n# 'Loaded plugins: fastestmirror'\n# 'Loading mirror speeds from cached hostfile'\n# 'Package gcc is not available, but is referred to by another package...'\n# OR\n# 'Installed: gcc.x86_64 0:4.8.5-44.el7'\n<\/code><\/pre>\n<p>Here, we&#8217;re doing something similar to the APT commands: updating the package list, upgrading the system, and then installing GCC.<\/p>\n<p>Now, you have GCC installed on your Linux system and you&#8217;re ready to compile your C programs!<\/p>\n<h2>Installing GCC from Source Code<\/h2>\n<p>If you need a specific version of GCC or want to customize the build, you might prefer to install GCC from source code. Here&#8217;s a basic example of how you might do this:<\/p>\n<pre><code class=\"language-bash line-numbers\"># Download the source code\nwget http:\/\/ftp.gnu.org\/gnu\/gcc\/gcc-9.2.0\/gcc-9.2.0.tar.gz\n\n# Extract the tarball\ntar xf gcc-9.2.0.tar.gz\n\n# Navigate into the directory\ncd gcc-9.2.0\n\n# Configure the build\n.\/configure --disable-multilib --enable-languages=c,c++\n\n# Build and install\nmake -j$(nproc)\nsudo make install\n\n# Output:\n# 'gcc-9.2.0.tar.gz 100%[===================&gt;] 104.50M  1.94MB\/s    in 54s'\n# 'gcc-9.2.0\/configure: creating .\/config.status'\n# 'gcc-9.2.0\/configure: creating .\/config.status'\n<\/code><\/pre>\n<p>This will download the GCC 9.2.0 source code, configure the build, and then compile and install GCC. The <code>--disable-multilib<\/code> flag is used to only support 64-bit software, and <code>--enable-languages=c,c++<\/code> is used to only build the C and C++ compilers.<\/p>\n<h2>Installing Different Versions of GCC<\/h2>\n<p>Different versions of GCC have different features and support for different language standards. You might need a specific version of GCC for a certain codebase. Here&#8217;s how you can install different versions of GCC from source and using package managers.<\/p>\n<h3>Installing Different Versions from Source<\/h3>\n<p>You can replace <code>gcc-9.2.0<\/code> in the previous example with the version you need. The GCC mirrors page lists all available versions.<\/p>\n<h3>Installing Different Versions with APT<\/h3>\n<p>On Debian-based distributions, you can install a specific GCC version with the <code>apt<\/code> package manager:<\/p>\n<pre><code class=\"language-bash line-numbers\">sudo apt install gcc-8\n\n# Output:\n# 'Reading package lists... Done'\n# 'Building dependency tree'\n# 'Reading state information... Done'\n# 'gcc-8 is already the newest version (4:7.4.0-1ubuntu2.3).'\n<\/code><\/pre>\n<h3>Installing Different Versions with YUM<\/h3>\n<p>On RPM-based distributions, you can use the <code>yum<\/code> package manager to install a specific GCC version:<\/p>\n<pre><code class=\"language-bash line-numbers\">sudo yum install gcc48\n\n# Output:\n# 'Loaded plugins: fastestmirror'\n# 'Loading mirror speeds from cached hostfile'\n# 'Package gcc48 is not available, but is referred to by another package...'\n<\/code><\/pre>\n<p>Here&#8217;s a summary of the key changes in the last few GCC versions:<\/p>\n<table>\n<thead>\n<tr>\n<th>Version<\/th>\n<th>Key Changes<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>GCC 7<\/td>\n<td>Full C++14 support, initial C++17 support<\/td>\n<\/tr>\n<tr>\n<td>GCC 8<\/td>\n<td>Full C++17 support, initial C++2a support<\/td>\n<\/tr>\n<tr>\n<td>GCC 9<\/td>\n<td>Full C++2a support, new optimizations<\/td>\n<\/tr>\n<tr>\n<td>GCC 10<\/td>\n<td>New features and optimizations, initial C++20 support<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Using and Verifying GCC Installation<\/h2>\n<p>You can compile a C program with GCC using the following command:<\/p>\n<pre><code class=\"language-bash line-numbers\">gcc hello.c -o hello\n\n# Output:\n# 'hello: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter \/lib64\/ld-linux-x86-64.so.2, for GNU\/Linux 3.2.0, BuildID[sha1]=5c9f85a8aa9bfa58c86e64e0d10aa8afb4a1c5e8, not stripped'\n<\/code><\/pre>\n<p>This will compile the <code>hello.c<\/code> file into an executable named <code>hello<\/code>. You can run it with <code>.\/hello<\/code>.<\/p>\n<p>You can verify your GCC installation and version with the following command:<\/p>\n<pre><code class=\"language-bash line-numbers\">gcc --version\n\n# Output:\n# 'gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0'\n<\/code><\/pre>\n<p>This will print the GCC version, which can be useful for troubleshooting or verifying that you have the correct version installed.<\/p>\n<h2>Exploring Alternatives to GCC<\/h2>\n<p>While GCC is a popular choice for compiling C programs, it&#8217;s not the only option. There are other compilers and techniques you can use to accomplish the same task. Let&#8217;s explore some of these alternatives, their benefits, drawbacks, and situations where they might be a better choice.<\/p>\n<h3>Clang: A Modern Compiler<\/h3>\n<p>Clang is a compiler front end for the C, C++, and Objective-C programming languages. It uses LLVM as its back end and has been part of the LLVM release cycle since LLVM 2.6.<\/p>\n<p>It&#8217;s known for providing expressive diagnostics, a modular library-based architecture, and strong adherence to standards.<\/p>\n<p>You can install Clang on Ubuntu like this:<\/p>\n<pre><code class=\"language-bash line-numbers\">sudo apt-get install clang\n\n# Output:\n# 'Reading package lists... Done'\n# 'Building dependency tree'\n# 'Reading state information... Done'\n# 'clang is already the newest version (1:6.0-41~exp5~ubuntu1).'\n<\/code><\/pre>\n<p>And here&#8217;s how you compile a program:<\/p>\n<pre><code class=\"language-bash line-numbers\">clang hello.c -o hello\n\n# Output:\n# 'hello: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter \/lib64\/ld-linux-x86-64.so.2, for GNU\/Linux 3.2.0, BuildID[sha1]=5c9f85a8aa9bfa58c86e64e0d10aa8afb4a1c5e8, not stripped'\n<\/code><\/pre>\n<h3>Intel C++ Compiler<\/h3>\n<p>The Intel C++ Compiler, also known as icc, is a group of C and C++ compilers from Intel. If you&#8217;re developing software specifically for Intel hardware, you might find icc more suitable.<\/p>\n<h3>TinyCC<\/h3>\n<p>If you&#8217;re working on a project where binary size matters more than speed, TinyCC (tcc) might be worth considering. As the name suggests, it&#8217;s a very lightweight C compiler, but it&#8217;s not as fast or fully-featured as GCC.<\/p>\n<h3>Using Makefiles<\/h3>\n<p>Makefiles can simplify the build process, especially for larger projects. They let you specify how to derive the executable from source files without having to list all the commands every time.<\/p>\n<p>Here&#8217;s a basic Makefile for a C program:<\/p>\n<pre><code class=\"language-bash line-numbers\"># Makefile\n\nhello: hello.c\n    gcc -o hello hello.c\n\n# Output:\n# 'gcc -o hello hello.c'\n<\/code><\/pre>\n<p>You can then compile the program with just <code>make<\/code>.<\/p>\n<h3>Using IDEs<\/h3>\n<p>Integrated Development Environments (IDEs) like Eclipse, NetBeans, and CLion can manage the build process for you. They often include features like automatic build configuration, a graphical debugger, and integrated version control.<\/p>\n<p>Remember, the best tool depends on your specific needs. GCC is a great general-purpose compiler, but there are situations where alternatives might be more suitable. By understanding these alternatives, you can make a more informed decision and choose the best tool for your needs.<\/p>\n<h2>Navigating Common GCC Errors<\/h2>\n<p>While GCC is a powerful tool, you might encounter some errors or obstacles along the way. Here are some common issues and how to resolve them.<\/p>\n<h3>&#8216;gcc: Command not found&#8217;<\/h3>\n<p>If you see this error, it means that GCC is not installed or not available in your PATH.<\/p>\n<pre><code class=\"language-bash line-numbers\">gcc --version\n\n# Output:\n# 'bash: gcc: command not found'\n<\/code><\/pre>\n<p>To resolve this, you can install GCC using the methods we discussed earlier. If GCC is installed but not in your PATH, you&#8217;ll need to add it. This process varies depending on your shell and system configuration.<\/p>\n<h3>&#8216;fatal error: stdio.h: No such file or directory&#8217;<\/h3>\n<p>This error occurs when GCC can&#8217;t find the <code>stdio.h<\/code> header file, which is part of the standard library. Here&#8217;s what the error might look like:<\/p>\n<pre><code class=\"language-bash line-numbers\">gcc hello.c -o hello\n\n# Output:\n# 'hello.c:1:10: fatal error: stdio.h: No such file or directory'\n# ' #include '\n# '          ^~~~~~~~~'\n# 'compilation terminated.'\n<\/code><\/pre>\n<p>To fix this, you need to install the standard library development files. On Debian-based distributions, you can do this with <code>sudo apt install libc6-dev<\/code>. On RPM-based distributions, you can use <code>sudo yum install glibc-devel<\/code>.<\/p>\n<h3>&#8216;undefined reference to `main&#8217;<\/h3>\n<p>This error occurs when GCC can&#8217;t find the <code>main<\/code> function. In C, every program must have a <code>main<\/code> function as the entry point.<\/p>\n<pre><code class=\"language-bash line-numbers\">gcc hello.c -o hello\n\n# Output:\n# '\/usr\/lib\/gcc\/x86_64-linux-gnu\/7\/..\/..\/..\/x86_64-linux-gnu\/Scrt1.o: In function `_start':\n# '(.text+0x20): undefined reference to `main'\n# 'collect2: error: ld returned 1 exit status'\n<\/code><\/pre>\n<p>To resolve this, make sure your program has a <code>main<\/code> function. If it&#8217;s intended to be a library, you should compile it with <code>-c<\/code> to produce an object file.<\/p>\n<h2>Best Practices and Optimization<\/h2>\n<p>While GCC will optimize your code by default, you can control the optimization level with the <code>-O<\/code> option. For example, <code>-O0<\/code> (no optimization), <code>-O1<\/code> (optimize minimally), <code>-O2<\/code> (optimize more), <code>-O3<\/code> (optimize even more), <code>-Ofast<\/code> (optimize very aggressively to the point of breaking standards), and <code>-Og<\/code> (optimize debugging experience).<\/p>\n<p>GCC also includes features for warning about common mistakes (<code>-Wall<\/code>) or even turning warnings into errors (<code>-Werror<\/code>). Using these options can help catch issues early.<\/p>\n<p>Remember to always keep your system and GCC installation updated to the latest version to benefit from the latest features and bug fixes.<\/p>\n<h2>Understanding Compilers and Their Role<\/h2>\n<p>To fully grasp the importance of the &#8216;install gcc command linux&#8217;, it&#8217;s crucial to understand what compilers do and their role in software development.<\/p>\n<h3>What is a Compiler?<\/h3>\n<p>A compiler is a special program that processes statements written in a particular programming language and turns them into machine language or &#8216;code&#8217; that a computer&#8217;s processor uses. In essence, it translates the human-readable code into a format that your machine can understand and execute.<\/p>\n<pre><code class=\"language-bash line-numbers\"># Example of a C program\n#include &lt;stdio.h&gt;\n\nint main() {\n   \/\/ printf() displays the string inside quotation\n   printf(\"Hello, World!\");\n   return 0;\n}\n\n# Output:\n# 'Hello, World!'\n<\/code><\/pre>\n<p>In this example, the C compiler takes the source code and translates it into machine code. The <code>printf()<\/code> function is a C library function that sends formatted output to stdout (your screen, by default).<\/p>\n<h3>The Role of GCC in Software Development<\/h3>\n<p>GCC, the GNU Compiler Collection, includes front ends for C, C++, Objective-C, Fortran, Ada, and Go, as well as libraries for these languages. It&#8217;s a key tool in a developer&#8217;s arsenal, playing a pivotal role in converting your source code into executable programs.<\/p>\n<p>GCC offers various benefits, including support for multiple languages, optimization, portability, and the ability to work on multiple projects, making it a preferred choice for many developers.<\/p>\n<h3>The Importance of Installing GCC in Linux<\/h3>\n<p>Linux is a popular choice for developers. It&#8217;s open-source, reliable, and supports a wide array of development tools like GCC. Having GCC installed on your Linux system allows you to compile and run your programs right from the terminal, making it an essential tool for Linux-based development.<\/p>\n<p>Installing GCC on Linux is as simple as running a few commands. However, understanding what these commands do and how GCC works can help you troubleshoot issues and optimize your development workflow.<\/p>\n<h2>Delving Deeper: GCC in Larger Projects<\/h2>\n<p>Understanding how to install and use GCC in Linux is just the start. As you work on larger projects, you&#8217;ll find that the GCC command often works in tandem with other commands and functions. Let&#8217;s explore some of these related tools and how they can benefit your development process.<\/p>\n<h3>Make: Automating Your Build Process<\/h3>\n<p>As your projects grow, compiling all your source files with individual commands can become tedious. That&#8217;s where Make comes in. Make is a build automation tool that automatically builds executable programs and libraries from source code by reading files called Makefiles.<\/p>\n<p>Here&#8217;s a simple Makefile for a C program:<\/p>\n<pre><code class=\"language-bash line-numbers\"># Makefile\n\nall: hello\n\nhello: hello.c\n    gcc -o hello hello.c\n\nclean:\n    rm hello\n\n# Output:\n# 'gcc -o hello hello.c'\n<\/code><\/pre>\n<p>In this Makefile, <code>all<\/code> is the default target, <code>hello<\/code> compiles the program, and <code>clean<\/code> removes the executable.<\/p>\n<h3>GDB: Debugging Your Programs<\/h3>\n<p>Even the best developers write code with bugs. GDB, the GNU Debugger, can help you debug your programs. It lets you see what is going on &#8216;inside&#8217; another program while it executes.<\/p>\n<p>Here&#8217;s a basic example of using GDB:<\/p>\n<pre><code class=\"language-bash line-numbers\">gcc -g hello.c -o hello\ngdb hello\n\n# Output:\n# 'GNU gdb (Ubuntu 8.1-0ubuntu3.2) 8.1.0.20180409-git'\n# 'Reading symbols from hello...done.'\n<\/code><\/pre>\n<p>In this example, we first compile the program with <code>-g<\/code> to include debugging information. Then, we run <code>gdb hello<\/code> to start debugging the program.<\/p>\n<h3>Valgrind: Checking Memory Leaks<\/h3>\n<p>Memory leaks can be a serious issue in C programs. Valgrind is a tool that can help you find memory leaks, among other things.<\/p>\n<p>Here&#8217;s a basic example of using Valgrind:<\/p>\n<pre><code class=\"language-bash line-numbers\">valgrind --leak-check=yes .\/hello\n\n# Output:\n# '==2092== Memcheck, a memory error detector'\n# '==2092== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.'\n<\/code><\/pre>\n<p>In this example, we&#8217;re running the <code>hello<\/code> program with Valgrind to check for memory leaks.<\/p>\n<h3>Further Resources for Mastering GCC in Linux<\/h3>\n<p>To further your understanding of GCC and related tools, you can refer to the following resources:<\/p>\n<ol>\n<li><a class=\"wp-editor-md-post-content-link\" href=\"http:\/\/www3.ntu.edu.sg\/home\/ehchua\/programming\/cpp\/gcc_make.html\" target=\"_blank\" rel=\"noopener\">GCC and Make &#8211; A Tutorial on how to compile, link and build C\/C++ applications<\/a><\/p>\n<\/li>\n<li>\n<p><a class=\"wp-editor-md-post-content-link\" href=\"https:\/\/www.scaler.com\/topics\/c\/how-to-compile-c-program-in-linux\/\" target=\"_blank\" rel=\"noopener\">A Tutorial on How to Compile C Program in Linux<\/a><\/p>\n<\/li>\n<li>\n<p><a class=\"wp-editor-md-post-content-link\" href=\"https:\/\/www.amazon.com\/GCC-Complete-Reference-Arthur-Griffith\/dp\/0072224053\" target=\"_blank\" rel=\"noopener\">GCC: The Complete Reference<\/a><\/p>\n<\/li>\n<\/ol>\n<p>These resources offer in-depth information about GCC and related topics, helping you to expand your knowledge and skills.<\/p>\n<h2>Wrapping Up: Mastering the GCC Command in Linux<\/h2>\n<p>In this comprehensive guide, we&#8217;ve navigated the process of installing and using the GCC command in Linux, a key tool for compiling C programs.<\/p>\n<p>We began with the basics, learning how to install GCC using package managers like APT for Debian-based distributions and YUM for RPM-based distributions. We then delved into more advanced territory, exploring how to install GCC from source code, how to install different versions of GCC, and how to verify your GCC installation.<\/p>\n<p>Along the way, we tackled common issues you might encounter when using GCC, such as &#8216;command not found&#8217;, &#8216;no such file or directory&#8217;, and &#8216;undefined reference to main&#8217;, providing you with solutions for each issue. We also looked at alternative approaches to compiling C programs, exploring compilers like Clang, Intel C++ Compiler, and TinyCC, and techniques like using Makefiles and IDEs.<\/p>\n<p>Here&#8217;s a quick comparison of these methods:<\/p>\n<table>\n<thead>\n<tr>\n<th>Method<\/th>\n<th>Pros<\/th>\n<th>Cons<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>GCC<\/td>\n<td>Robust, supports many languages<\/td>\n<td>May require troubleshooting for some programs<\/td>\n<\/tr>\n<tr>\n<td>Clang<\/td>\n<td>Modern, expressive diagnostics<\/td>\n<td>Less robust than GCC<\/td>\n<\/tr>\n<tr>\n<td>Intel C++ Compiler<\/td>\n<td>Optimized for Intel hardware<\/td>\n<td>Proprietary, not open source<\/td>\n<\/tr>\n<tr>\n<td>TinyCC<\/td>\n<td>Lightweight, small binary size<\/td>\n<td>Less fully-featured than GCC<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Whether you&#8217;re just starting out with GCC or you&#8217;re looking to level up your C programming skills, we hope this guide has given you a deeper understanding of GCC and its capabilities.<\/p>\n<p>With its balance of power, flexibility, and broad language support, GCC is a vital tool for any Linux-based developer. Happy coding!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Are you planning to compile your C programs in Linux? You might find the task daunting, especially if you&#8217;re a beginner. However, the &#8216;GCC&#8217; command, akin to a skilled translator, converts your C code into an executable program. It&#8217;s a tool that&#8217;s worth learning to install and use. GCC is readily available on most package [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":14874,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[124,3,9],"tags":[],"class_list":["post-6603","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-bash","category-linux","category-sysadmin","cat-124-id","cat-3-id","cat-9-id","has_thumb"],"_links":{"self":[{"href":"https:\/\/ioflood.com\/blog\/wp-json\/wp\/v2\/posts\/6603","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ioflood.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ioflood.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ioflood.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ioflood.com\/blog\/wp-json\/wp\/v2\/comments?post=6603"}],"version-history":[{"count":7,"href":"https:\/\/ioflood.com\/blog\/wp-json\/wp\/v2\/posts\/6603\/revisions"}],"predecessor-version":[{"id":14926,"href":"https:\/\/ioflood.com\/blog\/wp-json\/wp\/v2\/posts\/6603\/revisions\/14926"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ioflood.com\/blog\/wp-json\/wp\/v2\/media\/14874"}],"wp:attachment":[{"href":"https:\/\/ioflood.com\/blog\/wp-json\/wp\/v2\/media?parent=6603"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ioflood.com\/blog\/wp-json\/wp\/v2\/categories?post=6603"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ioflood.com\/blog\/wp-json\/wp\/v2\/tags?post=6603"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}