জিডিবির এই আচরণটি কি কেউ ব্যাখ্যা করতে পারেন?
900 memset(&new_ckpt_info,'\0',sizeof(CKPT_INFO));
(gdb)
**903 prev_offset = cp_node->offset;**
(gdb)
**905 m_CPND_CKPTINFO_READ(ckpt_info,(char *)cb->shm_addr.ckpt_addr+sizeof(CKPT_** HDR),i_offset);
(gdb)
**903 prev_offset = cp_node->offset;**
(gdb)
**905 m_CPND_CKPTINFO_READ(ckpt_info,(char *)cb->shm_addr.ckpt_addr+sizeof(CKPT_ HDR),i_offset);**
(gdb)
**908 bitmap_offset = client_hdl/32;**
(gdb)
**910 bitmap_value = cpnd_client_bitmap_set(client_hdl%32);**
(gdb)
**908 bitmap_offset = client_hdl/32;**
(gdb)
**910 bitmap_value = cpnd_client_bitmap_set(client_hdl%32);**
(gdb)
**908 bitmap_offset = client_hdl/32;**
(gdb)
**910 bitmap_value = cpnd_client_bitmap_set(client_hdl%32);**
(gdb)
913 found = cpnd_find_exact_ckptinfo(cb , &ckpt_info , bitmap_offset , &offset , &prev_offset);
(gdb)
916 if(!found)
(gdb) p found
$1 = <value optimized out>
(gdb) set found=0
Left operand of assignment is not an lvalue.
903 লাইন কার্যকর করার পরে কেন এটি আবার 905 908 910 এর জন্য একই কার্যকর করে?
অন্য জিনিস হ'ল found
একটি bool
টাইপ ভেরিয়েবল, সুতরাং এটি কেন দেখাচ্ছে value optimized out
? আমি found
পাশাপাশি মান সেট করতে সক্ষম নই ।
এটি একটি সংকলক অপ্টিমাইজেশন বলে মনে হচ্ছে (এই ক্ষেত্রে এটির -O2
); আমি কীভাবে এখনও এর মান সেট করতে পারি found
?