1
是否可以使用ACSL註釋C宏?C宏上的ACSL註釋
如:
/*@
assigns \nothing;
behavior xmin:
assumes x < y;
ensures \result == x;
behavior ymin:
assumes y <= x;
ensures \result == y;
disjoint behaviors;
complete behaviors;
@*/
#define min(x,y) (x < y ? x : y)
甚至函數調用,如
#define min(x,y) __min(x,y)
我已經嘗試過,但沒有成功。我做錯了什麼或者是不可能的?
郵資-C前處理源與代碼'的GCC -C -E -I.'。在這個預處理之後,作爲第一個例子提供的合同再也沒有意義了(通過自己輸入'gcc -C -E -I.'來查看預處理文件)。我所做的是將這些宏轉換爲用於註釋它們的函數。 –