Я хотел бы реализовать многопроцессорное приложение, разделяющее между собой основное (или вообще можно сказать, файл .cpp
).C++ динамически назначать заголовки
Позвольте мне объяснить. Учитывая структуру реж что-то вроде этого:
- main.cpp
-- app1
--- app1.cpp
--- app1.h
-- app2
--- app2.cpp
--- app2.h
-- ...
Я хотел бы скомпилировать N приложение с той же main.cpp
, но с другим заголовком. Давайте говорить, что-то вроде этого:
app1 := main.cpp + app1.cpp
app2 := main.cpp + app2.cpp
В псевдокоде, то main.cpp
должен выглядеть так, но я не знаю, как я могу назначить Динамично заголовок:
# main.cpp
foreach sub_dir
# create a main with only the headers in this subdir
foreach headers_in_subdirs
<include "sub_dir/header.h">
end
# rest of the main omitted
Возможное решение заключается в том, чтобы скопировать main.cpp
в каждом поддиректории, но таким образом код не поддерживается. Перегруппировка всех субпаппов в большой, к сожалению, невозможна для цели приложения.
сторона сборник не проблема (я это делаю с синглами команды запроса в makefile
), но вопрос: как я могу динамически назначать заголовки?
будет запускать такой инструмент в каждом поддиректоре? (я его не использовал) http://www.hwaci.com/sw/mkhdr/makeheaders.html – Jimmy
хороший момент @ Jimmy, этот инструмент дал мне идею. Что вы думаете об игре с '' '#ifdefine ... include libs .. #elseif ...' '' в '' 'main.cpp''', а затем задаете уникальную переменную в каждом поддиректории. Как вы думаете, как это работает? – damoiser
думаю, что это по существу один из ваших ответов ниже – Jimmy