在使用稍微修改过的 MobileC 构建时,我遇到了一个奇怪的问题。
我在宏中遇到分段错误,但是当我将printfs放入代码中时(否则无法调试,因为它被 C 干扰)我无法得到它发生的确切点。
这是代码:
...
printf("just to check there is no problem accessing "node" %d\n", node);\
printf("this will be printed\n"); \
node_type##_Destroy(node); \
printf("this will not be printed\n"); \
...
Destroy 的代码如下:
int name##_Destroy( name##_p name ) \
{ \
printf("this will not be printed\n"); \
...
我没有修改这部分代码(除了printfs),所以我想没关系。你知道这里会发生什么吗?