C コード ベースで潜在的なエンディアンの問題をチェックできる lint のようなツールはありますか? ネットワーク プログラミングやファイル転送などのデータ共有中にこのような問題を検出するツールは、おそらく非現実的です。しかし、ポインタ キャストの不正使用をチェックすることは、それほど難しいことではありませんよね?
基本的に、次のコード スニペットのような状況を検出するツールが必要です。
#include <stdio.h>
void bar(char *cp)
{
*cp = 'c';
}
void foo(int *intp)
{
bar((char*)intp);
}
int main(void)
{
int a = 0xAABBCCDD;
foo(&a);
printf("a = %d\n", a);
return 0;
}
任意の提案をいただければ幸いです。