Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/03/2013, 09:29
milagrosmj90
 
Fecha de Ingreso: marzo-2013
Ubicación: Merida
Mensajes: 2
Antigüedad: 11 años, 8 meses
Puntos: 0
Violacion del segmento ('core 'generado)

Hola buenas tarde estoy haciendo una aplicación cliente/servidor sencilla utilizando
ONC-RPC y utilizando las rutinas de la capa intermedia, esta tiene que doblar el numero que se le pase por parámetro. Me da una violación de segmento core los tres codigos que tengo son los siguientes:

calculo.h

Código:
 #define PROGRAMA2 0X20000002
#define VERSION2 1
#define SUMA 1
#define RESTA 2
#define DOBLAR 3
clientesuma.c

Código:
#include <stdlib.h>
#include <stdio.h>
#include <rpc/rpc.h>
#include "calculo.h"

int main (int argc,char * argv[])
{
int num= atoi(argv[1]) ;
	static int resultado;
	
	callrpc("localhost",PROGRAMA2,VERSION2,DOBLAR,xdr_int,&num,xdr_int,&resultado);
	printf("doblar=%d\n",&resultado);
}
servidorsuma.c
Código:
#include <stdlib.h>
#include <stdio.h>
#include "calculo.h"
#include <rpc/rpc.h>


int * doblar(int numero)
{
	static int resul;

	resul= numero*2;

printf("%d\n",numero);
	return &resul;
}

int main (int argc,char * argv[])
{
registerrpc(PROGRAMA2,VERSION2,DOBLAR,doblar,xdr_int,xdr_int);

svc_run();
}
Haber si veis donde tengo el error os lo agradecería mucho