小编swa*_*ing的帖子

64 位移植 c++ - 跟踪基本类型、指针、算术的使用

我们正在使用 gcc/linux 从 32 位移植到 LP64。我正在寻找一种方法来跟踪在内存布局(long,Ptr)中更改的数据类型的使用情况。我对与这些类型的所有可能有问题的“交互”的位置感兴趣。

Typedef 需要取消引用到内置类型,如 ULONG 和 DWORD -> unsigned long 可能的问题可能是 iE:旧式强制转换、重新解释强制转换、算术、上溢/下溢、赋值、比较、常量、ptr 算术、sizeof、size_t 算术,隐含的对话......你就是这样。

因为这与正则表达式无关,而且代码库很大,所以我需要以某种方式使其自动化。我想我至少需要一个解析树/AST 以及一个符号表。我在各个阶段尝试了 GCC 的一些内部树转储,但仍然没有任何线索。我还启用了编译器必须提供的所有警告;-) 也许任何人都可以给我一个提示,在哪里寻找。(我已经看到了这个看起来很有前途的语义设计 Toolokit)

你是怎么做到的?尝试、测试、失败并处理错误?我会试试clang...

问候

c++ 64-bit porting types abstract-syntax-tree

3
推荐指数
1
解决办法
133
查看次数

标签 统计

64-bit ×1

abstract-syntax-tree ×1

c++ ×1

porting ×1

types ×1