Вот что происходит:
Код
char *temp = (char*)malloc(128);
zeromem(temp, 128);
sprintfa(temp, "%s %s", "Hello", "world"); // ваш вариант функции
ShowMSG (1, (int)temp);
mfree(temp);
maincsm_onclose(0);
Код
.text:000004C8 EXPORT start
.text:000004C8 start
.text:000004C8 STMFD SP!, {R4,R5,LR}
.text:000004CC MOV R5, #0x80; 'А'
.text:000004D0 MOV R0, R5
.text:000004D4 SWI 0x14
.text:000004D8 MOV R4, R0
.text:000004DC MOV R0, R4
.text:000004E0 MOV R1, R5
.text:000004E4 SWI 0x11D
.text:000004E8 SWI 0x16 ; вот она просто втыкнутая в код свишка
.text:000004EC MOV R5, R0
.text:000004F0 MOV R5, #1
.text:000004F4 MOV R0, R5
.text:000004F8 MOV R1, R4
.text:000004FC SWI 0x148
.text:00000500 MOV R5, R0
.text:00000504 MOV R0, R4
.text:00000508 BL sub_8
.text:0000050C BL sub_474
.text:00000510 MOV R0, #0
.text:00000514 LDMFD SP!, {R4,R5,PC}
я ещё думал такой вариант типа это оптимизатор смотрит что параметры не юзаются и выкидывает их, пробовал различные атрибуты оптимизации к вставке шото тоже ничего не выходит
Сообщение отредактировал vova7890 - Nov 26 2010, 07:58