struct trapframe {
u_int32_t tf_vaddr; /* coprocessor 0 vaddr register */
u_int32_t tf_status; /* coprocessor 0 status register */
u_int32_t tf_cause; /* coprocessor 0 cause register */
u_int32_t tf_lo;
.....
u_int32_t tf_hi;
u_int32_t tf_ra; /* Saved register 31 */
u_int32_t tf_at; /* Saved register 1 (AT) */
u_int32_t tf_v0; /* Saved register 2 (v0) */
u_int32_t tf_v1; /* etc. */
u_int32_t tf_epc; /* coprocessor 0 epc register */
};
void foo(void *tf, unsigned long as) {
struct trapframe *buf_tf = (struct trapframe *)tf;
... }
在函數foo,我沒有手動分配空間,而是直接用初始化一個trapframe結構參數的臨時trapframe結構指針buf_tf傳遞,我需要手動釋放buf_tf?C自然結構指針
你的問題不是很清楚。 –
請顯示您的代碼。你好像有混合結構指針和struct –