2

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;
}

任意の提案をいただければ幸いです。

4

0 に答える 0