Как раскрутить Си-макросы

Опубликовано в рубрике "Статьи", 28.11.2010.
Тэги: , , автор:

Да, знаю, сложные Си-макросы – это очень плохо. Но, иногда, без них приходится писать такую кучу кода, что неизвестно, что лучше. Вот и мне понадобилось наваять макро-кодогенератор, вот такой (только не спрашивайте, зачем 🙂 ) —

1#define EXPORT_CLASS_FUNC_0(class_name, func_name) \
2 DevResult class_name ##_ ##func_name() { \
3 DevResult result; \
4 try { result = GetMyInstance()-›##func_name(); } \
5 catch(…) { return DEVRESULT_ERR; } \
6 return result; }

Но как увидеть, что он нагенерил? Оказывается, все просто. Для этого, запускаем cpp компилятор от Visual Studio со следующими ключами:

1cl.exe /P /C имя_файла.cpp

Он создаст файл имя_файла.i, куда положит исходный код с развернутыми макросами.

Создание автономного C-приложения с библиотекой matlab

Опубликовано в рубрике "Статьи", 12.01.2010.
Тэги: , , , автор:

Иногда нужно сделать приложение, которое общается с неким девайсом и выполняет сложные математические расчеты. Конечно, можно написать свои библиотеки или найти библиотеки сторонних разработчиков, но зачем, если все уже написано за нас? Намного проще написать матлабовскую функцию, отладить ее и использовать в своем приложении.

mat_logo