試圖用python中的z3分析一些C程序,並用指針引起麻煩。我與條款的工作,如:如何在z3中實現指針的解引用
float * buffer = (float*)malloc(5*sizeof(float))
我解釋緩衝區作爲BitVec(32)
值 所以*buffer
應該Real()
。 就應該沒什麼問題,但我應該寫什麼斷言的術語如
*(buffer+3) or *(buffer+i)
應該如何斷言寫,如果我索引出像
*(buffer-1) or *(buffer+10)
如果您使用C編程,那麼只能使用該標籤。不要使用無關標籤(語言或其他方式)發送垃圾郵件。 –
另外,在C中不需要施加'malloc'的返回值 - 它只能掩蓋錯誤。 –