Сообщение Почему значение первого байта, может не совпадать? от 05.11.2018 14:08
Изменено 05.11.2018 14:09 nen777w
Почему значение первого байта, может не совпадать?
"Код" | |
#include <stdio.h> int main() { unsigned int lbl_begin; __asm { mov dword ptr lbl_begin, offset l_begin }; __asm jmp l_end; l_begin: __asm _emit 0x00; __asm _emit 0x01; __asm _emit 0x02; __asm _emit 0x03; l_end: unsigned char c0 = ((unsigned char*)lbl_begin)[0]; if (c0 == 0x00) printf("Equal\n"); else printf("Not Equal\n"); unsigned char c1 = ((unsigned char*)lbl_begin)[1]; if (c1 == 0x01) printf("Equal\n"); else printf("Not Equal\n"); unsigned char c2 = ((unsigned char*)lbl_begin)[2]; if (c2 == 0x02) printf("Equal\n"); else printf("Not Equal\n"); unsigned char c3 = ((unsigned char*)lbl_begin)[3]; if (c3 == 0x03) printf("Equal\n"); else printf("Not Equal\n"); return 0; } | |
У меня иногда печатает:
а иногдаEqual, Equal, Equal, Equal
Not Equal, Equal, Equal, Equal
Оптимизации отключены. С чем это может быть связяно?
Почему значение первого байта, может не совпадать?
"Код" | |
#include <stdio.h>
| |
У меня иногда печатает:
а иногдаEqual, Equal, Equal, Equal
Not Equal, Equal, Equal, Equal
Оптимизации отключены. С чем это может быть связяно?