|
27 / 1 / 0
Регистрация: 29.06.2011
Сообщений: 136
|
|
Почему нельзя компилировать отдельный заголовочный файл?12.08.2012, 11:57. Показов 2621. Ответов 6
Метки нет (Все метки)
Вообще можно весь код поместить в один .cpp файл. Но, как я понимаю, люди советуют все функции помещать в отдельные заголовочные файлы. А потом эти заголовочные файлы подключать директивой #include в основной файл .cpp. Хотя я не понимаю, чем это лучше то? Не вижу преимуществ. Не так давно задал этот вопрос своему шефу. Но только он задачи решает не на С++ как я, а на Фортране. Для Фортрана у него какая-то среда разработки аналогичная Visual Studio 2010. Так он взял и открыл какой-то проект, а потом открыл отдельный заголовочный файл в нём (содержащий какую-то функцию) и нажал на компиляцию. Так-то это на самом деле довольно удобно получается, если можно компилировать и, соответственно, искать ошибки в каждом отдельном файле проекта. Но почему в Студии для С++ так нельзя? (это и есть мой вопрос к Вам). Я открываю любой заголовочный файл, захожу в пункт меню Построение, а подпункт Компилировать затемнён. То есть компилировать получается только основной файл .cpp. Короче, я так понял, что заниматься численными методами действительно лучше на Фортране. Но при этом в Студии в окне ошибок пишут в каком именно файле проекта и в какой строчке там ошибка.
0
|
|
| 12.08.2012, 11:57 | |
|
Ответы с готовыми решениями:
6
Кто знает почему он у меня не хочет сохранять в формате .bpr? И нельзя компилировать? Почему не компилируется заголовочный файл? Почему GCC не компилирует заголовочный файл пользователя ? |
|
432 / 433 / 93
Регистрация: 16.07.2012
Сообщений: 886
|
|
| 12.08.2012, 12:05 | |
|
Советуют не сами функции помещать в заголовочный файл, а их объявления.
0
|
|
|
187 / 180 / 25
Регистрация: 27.01.2012
Сообщений: 1,335
|
|
| 12.08.2012, 12:24 | |
|
canopen,
Не по теме: как по мне, лучше закинуть функции в некий array.h, чем делать два файла типа : array.h (прототипы) и array.cpp (сами функции). Меньше мороки, ведь не надо в обоих файлах менять объявления, если вдруг добавил фактический параметр.
0
|
|
|
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
|
|
| 12.08.2012, 13:01 | |
|
компилятор обрабатывает translation unit-ы, а это source файл + хидеры. т.е. хидеры сами по себе еденицей трансляции не являются и не компилируются.
В студии есть возможность компиляции одного файла (сорца) из текущей вкладки (Ctrl-F7). По идее совсем не сложно и возможно в других IDE даже есть возможность проверять именно хидеры. Для этого IDE должна была бы сгенерить временный почти нустой спп файл в включенным инклудником, который хотят проверить и скомпилировать его. После этого удалить. В студии это наверно можно сделать кастомными командами.
0
|
|
|
|
|
| 14.08.2012, 16:02 | |
|
0
|
|
| 14.08.2012, 16:02 | |
|
Помогаю со студенческими работами здесь
7
Почему Не Определён Ctrcmp, тема про заголовочный файл string.h Объявления классов в *.h, или почему просто не приписать заголовочный файл #include <QProgressBar>?
Зачем нужен h-файл? Почему нельзя все хранить в cpp? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|