Pull to refresh

Comments 15

xkcd.com/927

Какие-то надуманные проблемы с YAML. Не понял, каким образом проблема даты исчезла в json? Проблема сущности сотрудника? YAML и TOML удобно читать и удобно парсить, не представляю зачем в не-скриптовом языке JSON.
Я знал что там будет за комикс еще до перехода по ссылке. Скоро будем как из анекдота про слет рассказчиков анекдотов.
Полноценная поддержка YAML всё-таки потяжелее будет чем JSON.
Чего такого требует тот же Jansson, что от него пришлось отказаться?

И можно чуть более развернуто об ограниченности ресурсов? Чтоб было ясно, из какой ямы вы выбирались таким образом.
Есть невероятно компактный и нетребовательный к рантайму nanopb: github.com/nanopb/nanopb

Успешно может работать даже без malloc/free!
Если проект совместим с С99, то почему все комментарии — блочные?
Я в Java почти не использую строковые, в sql тем более, они банально мне не удобны. Ведь код может быть сжат, и строковые комментарии все поломают (в sql). Автор этой библиотеки может быть тоже из каких-то соображений не применяет их.
Ну, вот мне хотелось бы услышать, какие для этого могут быть причины в С, кроме как отсутствие поддержки компилятором (поскольку компилятор, поддерживающий С99, будет поддерживать и строковые комментарии).
Было бы здорово, если бы вы придерживались общеизвестных практик:
1. Суффикс "_t" в именах типов зарезервирован для стандарта.
2. Результат вызова malloc надо всегда явно приводить к типу переменной, иначе в строгом режиме будут предупреждения.
3. Размер в malloc нужно вычислять автоматически: int *p = malloc(sizeof *p);

Вот вывод команды «cc -pedantic -std=c99 jfes.c -o jfes.o» http://paste.ubuntu.com/12904577/
Про приведение типа я перепутал — не нужно =)
В Си не нужно, в Си++ — нужно. Если собирать сишный код компилятором C++, он будет материться.
Так ведь не надо так делать. Нужно собирать объектные файлы разными компиляторами и линковать их.
Я использую библиотеку YAJL.
Там расширяемый событийный парсер. Поддерживает комментарии.
Удобное API для доступа к узлам в дереве.
Очень простое портирование.

Но главное в JSON для embedded это менеджер памяти со статистикой использования.
Потому что наступит момент когда просто может не хватить памяти для дерева и этот момент надо разрулить без сбоев.
А вариант github.com/udp/json-parser не рассматривали? ANSI C и возможность переопределения malloc/free присутствует. Из дополнительного ещё использует функцию pow (math.h), но лекго выпиливается.
Sign up to leave a comment.

Articles