Foro de elhacker.net

Programación => ASM => Mensaje iniciado por: Leyer en 7 Enero 2012, 05:17 am



Título: NASM Linux printf - scanf "undefined reference"
Publicado por: Leyer en 7 Enero 2012, 05:17 am
Hola hace poco comenze a usar ASM y probando algunos codes me tope con uno que tenia las seguientes sentencias:

Código
  1. extern scanf
  2. extern printf

al enlazarlo ld xlflo.o -o xlflo me muestra lo siguiente:

Código:
 xlflo.asm:(.text+0x27): undefined reference to `scanf'
 xlfloo: In function `putfloat':
 xlflo.asm:(.text+0x4a): undefined reference to `printf'

ahora bien,lo estoy enlazando mal? o es otra cosa

saludos.




Título: Re: NASM Linux printf - scanf "undefined reference"
Publicado por: Eternal Idol en 7 Enero 2012, 11:02 am
Proba a enlazar asi:
gcc -oxflo xflo.o


Título: Re: NASM Linux printf - scanf "undefined reference"
Publicado por: Leyer en 7 Enero 2012, 19:36 pm
Si, asi me ha funcionado bien, Gracias :D ahora me ha surgido una duda debo usar funciones como sys_read() ,sys_write() para entrada y salida,o es mejor usar funciones externas como printf y scanf ?


Título: Re: NASM Linux printf - scanf "undefined reference"
Publicado por: Eternal Idol en 7 Enero 2012, 19:49 pm
Como quieras, al final la libc termina llamando a los servicios del Kernel.


Título: Re: NASM Linux printf - scanf "undefined reference"
Publicado por: Leyer en 7 Enero 2012, 20:08 pm
Oks :) gracias por la aclaracion.

saludos.


Título: Re: NASM Linux printf - scanf "undefined reference"
Publicado por: Eternal Idol en 7 Enero 2012, 20:32 pm
De nadas  :)