понедельник, 13 мая 2013 г.

О нюансах программирования в текстовых редакторах

Не так давно при создании проекта в Qt Creator один мой знакомый натолкнул меня на мысль, что расширения файлов нашего решения не играют никакой роли. Я решил это проверить.

Сейчас все существующие редакторы построены на обычной текстовой структуре. А это означает, что тот код, который мы с вами вводим, интегрированная среда воспринимает как простой текст. Другими словами, процесс создания кода происходит... в блокноте.

Итак, создаем проект - обычное консольное приложение. В файле, содержащем главную функцию main, стираем все, что написала за нас среда и оставляем только эти строчки:

Теперь переходим в папку с нашим проектом и вручную создаем файлик test.txt. Открываем его блокнотом или Notepad++ и создаем, к примеру, функцию по подсчету суммы двух целочисленных переменных:

Этот файл мы сохраняем и закрываем. Осталось его добавить к нашему проекту. Но тут мы встречаем один из подводных камней: оказывается, если добавлять заголовочный файл, то нужно использовать файл с расширением .h! Но из этой ситуации можно легко выйти. Обманем Qt и вручную пропишем путь в pro-файле проекта к нашему "заголовочному" текстовому файлу с функцией. Получаем следующее:

Снова сохраняемся и теперь дело осталось за малым: подключаем наш test.txt в исходник и запускаем. Вуаля, все работает!

Догадка оказалась верна: современным средам разработки программного обеспечения зачастую не важно расширение подключаемого файла (можно даже вообще файл без расширения подключить и все будет компилироваться) . То же самое, с превеликим успехом проделывалось  и в Visual Studio, и в Keil, и даже в Avr Studio.

P.S: если возникнут вопросы, то задавайте их в комментариях.