Сильный typedef статический контролер (unix) - PullRequest
2 голосов
/ 09 августа 2010

Существует ли бесплатный инструмент (что-то вроде статической проверки), который выполняет проверку типа на основе определения типа для plain C (не C ++) и работает в Linux (иликакой-нибудь бесплатный Unix)?Я знаю о коммерческом: PC-lint / FlexeLint.Это именно то, что я хочу, но это не бесплатно и только для Windows.Вот пример из руководства:

typedef int Count;
typedef int Bool;
Count n;
Bool stop;
.
.
.
n = stop ; // tool generates a warning here

Я уже читал это Обеспечить строгую проверку типов в C (строгость типов для typedefs) , и это Есть хорошийспособ заставить несовместимость типов в C? , и я знаю о взломе struct encapsulation, но это не , что я хочу.У меня есть куча кода, и я хочу проверить его на этот тип ошибок.

Ответы [ 2 ]

1 голос
/ 09 августа 2010

А как насчет шины ? (Я не проверял, может ли он делать то, что вы хотите. Хотя я сомневаюсь, что это будет.)

Или, альтернативно, как насчет использования типов C99 stdbool.h и bool?

0 голосов
/ 10 августа 2010

«lint» изначально был инструментом Unix - больше не входит в стандартные дистрибутивы?

Если нет, gcc -wall предположительно дает большинство тех же предупреждений.

...