Test platform is windows 32 bit. IDA pro 64
So, basically I use IDA pro to disassemble a PE file, and do some transformation work on the asm code I get, to make it re-assemblable.
In the transformed code I generated, the system function call like printf will be written just as the usual way.
extern printf .... .... call printf I use this to reassemble the code I create:
nasm -fwin32 --prefix _ test.s cl test.obj /link msvcrt.lib I got a PE executable file, and basically it works fine (Like a hello world program, a quick sort program and others).
But then, as I use IDA pro to re-disassemble the new PE executable file I create, strange things happened.
IDA pro generates function call like this:

and when I use:
idaq.exe -B test.exe to generate new assembly code, in the printf function call part, it generate this:
call j_printf Without the j_printf proc near function define...
So basically I am wondering if anyone know how do deal with this, to let IDA pro generate
call printf or
call _printf again or any other solution?