Рубрики

Напечатайте «Hello World» на C / C ++, не используя заголовочный файл

Напишите программу на C / C ++, которая печатает Hello World без заголовочного файла.

Концептуально кажется нецелесообразным писать программу на C / C ++, которая печатает Hello World без заголовочного файла «stdio.h». Поскольку объявление функции printf () содержится в заголовочном файле «stdio.h».

Но мы можем легко достичь этого, используя преимущества директив препроцессора Си. Дело в том, что во время компиляции программы первая фаза предварительной обработки C расширяет все заголовочные файлы в один файл, и после этого компилятор сам компилирует расширенный файл. Поэтому нам просто нужно извлечь объявление функции printf () из заголовочного файла и использовать его в нашей основной программе следующим образом:

  • Язык C: просто объявите функцию printf (), взятую из заголовочного файла «stdio.h».

    // Объявляем функцию printf ()

    int printf(const char *format, ...);

      

    int main()

    {

      printf( "Hello World" );

      return 0;

    }

    Output: Hello World
  • Язык C ++: Мы не можем напрямую поместить объявление функции printf (), как в предыдущем случае, из-за проблемы искажения имени в C ++. Смотрите это, чтобы узнать больше о названии искажения. Поэтому нам просто нужно объявить printf () внутри ключевого слова extern так:

    // Объявляем функцию printf () внутри
    // extern "C" для компилятора C ++

    extern "C"

    {

    int printf(const char *format, ...);

    }

      

    int main()

    {

      printf( "Hello World" );

      return 0;

    }

    Output: Hello World

Смотрите это, чтобы узнать больше обо всех этапах компиляции C-программы.

Этот блог предоставлен Shubham Bansal . Если вы как GeeksforGeeks и хотели бы внести свой вклад, вы также можете написать статью с помощью contribute.geeksforgeeks.org или по почте статьи contribute@geeksforgeeks.org. Смотрите свою статью, появляющуюся на главной странице GeeksforGeeks, и помогите другим вундеркиндам.

Рекомендуемые посты:

Напечатайте «Hello World» на C / C ++, не используя заголовочный файл

0.00 (0%) 0 votes