(纯C语言)如何监视某个变量的值

程序中有个变量,希望当它的值变化时进行某种其他的操作,重点是监控这种变化,程序中不能用延时函数去循环查询该值是否发生变化,纯C语言中,还有其他方法吗?

用定时中断查询
http://www.cnblogs.com/chenyadong/archive/2011/10/19/2217128.html

这个定时中断更好
http://www.jb51.net/article/48976.htm

你想要的机制c语言无法直接提供,给2点建议:
1.如果是调试,可以用gdb来实现你想要的效果;
2.如果是正式实现,可以考虑将对该变量的操作封装成一个函数,然后在该函数中实现你想要的功能。

每当该函数得到调用的时候,就判断一下新值和原来的值是否相等,如果不相等,就可以在该函数中执行相应的动作

1.你说的是一个多核情况下的互斥问题,需要加互斥锁;
2.如果写没有完成,读出来的就是原来的值。

1.64位系统一次可以写8个字节,不存在写一半的问题,cpu在写内存的时候,总线是锁住的。
2.多线程互斥可以使用mutex锁来解决互斥的问题。

硬件的问题你就不用担心了,两个处理器不可能同时去写同一块内存,内存的总线有仲裁机制。

你说的很对,这个时候就要使用互斥机制。

可以用一个静态变量保存他的值,判断就可以了...