Для "руководств", DocBook. Это - диалект SGML, разработанный для технической документации. http://www.docbook.org/ . Это не может соответствовать Вашей "легкой разметке" критерий, но это определенно производит хороший вывод в Латексе (может быть преобразован тогда в PDF), и хороший вывод HTML, если Вы готовите свою собственную таблицу стилей CSS для него. Текстовые файлы сохранены в управлении версиями. Все программы также пользуются библиотекой, которая комбинирует парсинг параметра командной строки с "-справка" вывод в выборе форматов (нормальная, страница справочника и DocBook). Для ссылки API, doxygen, конечно.
Да, конечно. Обычно вы создаете .mc файл и включаете его в свой проект. Укажите компилятору mc его сборку - это создает файл заголовка и файл .rc. HRESULTS определены в файле заголовка. Вы включаете .rc-файл в свой проект, как обычно, для компиляции компилятора ресурсов - это помещает определения сообщений в ваш последний модуль. Затем вы можете использовать обычные функции FormatMessage для форматирования сообщений с использованием HRESULTS и генерации информации об ошибках и прочего.
У меня это как командная строка для одного из моих файлов .mc:
mc -h "../include" -r "../include" "..\include\errors.mc"
Это создает errors.rc и errors.h в подключаемом каталоге. Затем я сделал:
#include "errors.rc"
в моем основном файле .rc для проекта.
Файл .mc выглядит примерно так:
LanguageNames=(English=0x409:MSG00409)
MessageId=0x1
SymbolicName=SOME_CATEGORY
Language=English
Some Category
.
MessageID=
Severity=Error
SymbolicName=ERROR_INVALID_PROP_INDEX
Language=English
Invalid property index %1
.
с большим количеством определенных номеров ошибок.