Показаны сообщения с ярлыком cpp. Показать все сообщения
Показаны сообщения с ярлыком cpp. Показать все сообщения

понедельник, 21 марта 2016 г.

Стоит ли использовать json protobuf в проекте с Python?

Появилась тут вдруг необходимость связать 2 приложения на С++ и на Python между собой. После недолгих раздумий был выбран вполне очевидный вариант - HTTP(s) + json. Human readable, удобно тестировать и всё такое прочее. API было решено строить на базе REST (хоть и на не совсем идиоматичном), ибо он сейчас модный и хипстерский. Можно было бы сделать всё к примеру на SOAP, но боюсь потом спать не смогу. Ещё хотелось отметить, что сервером является приложение на С++, проекты находятся в разных репозиториях и есть вероятность, что в дальнейшем Python часть будет делать человек не знающий плюсы.

воскресенье, 14 июня 2015 г.

Компиляторы иногда ругаются по делу

Буквально только что натолкнулся на забавную особенность языка C++, уже встречался с ней раньше, но каждый раз удивляет. Имеем вот такой код:
void foo(uint32_t v)
{
    ...
    CTimeout t(std::chrono::seconds(v));
    ...
}
Компилятор объявление переменной интерпретирует как объявление функции, считая его эквивалентом вот этого:
CTimeout t(std::chrono::seconds v);
Т.е. он просто решил, что скобки тут лишние и убрал их. Искать такую ошибку в большом проекте можно очень долго. К счастью компиляторы сейчас пошли умные и о таких ситуациях предупреждают (по крайней мере clang), хотя и компилируют. Но когда проект компилируется с парой сотен ворнингов, отыскать важный сложно. Выводу, я думаю очевидны.