Librerias linux vs windows

Iniciado por soyloqbuskas, 23 Enero 2012, 01:00 AM

0 Miembros y 2 Visitantes están viendo este tema.

soyloqbuskas

¡Buenas a todos!

Resulta que tengo hecha una mini Shell para linux, y quiero adaptarla a windows, y para ello necesito adaptar las librerias...

Tengo 3 errores de compilacion:
  1)  Demasiados argumentos en la funcion mkdir
        result = mkdir(ArrayParser[1] ,00700);

  2)  Variable _SC_PAGE_SIZE no declarada...
        size_t len = (size_t) sysconf(_SC_PAGE_SIZE);

  3)   Variables PROT_READ y MAP_SHARED no declaradas en la funcion mmap()
         mem = mmap(NULL, len, PROT_READ, MAP_SHARED, fd, 0);

¿Alguna idea de como adpatar esto a windows?

NOTA: La Shell en linux compila y funciona perfectamente!

Gracias, un saludo!
"Si tienes 1 manzana y yo tengo otra manzana...
y las intercambiamos, ambos seguiremos teniendo 1 manzana.
Pero...si tu tienes 1 idea y yo tengo otra idea...
y las intercambiamos, ambos tendremos 2 ideas."


George Bernard Shaw

Eternal Idol

¿Que entorno (compilador, librerias, etc). estas usando? Los problemas que mencionas son todos relacionados con POSIX y no con C o C++ standard.

1) Pasa solamente el nombre o usa la API de Windows: CreateDirectory.

2/3) Si estas usando la API de Windows podes hacerlo con CreateFileMapping y MapViewOfFile.
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

armizh

Primero, dos objeciones:
1. Si bien las librerias tanto en win como en linux poseen las mismas funciones ya que son estandares, mkdir no existe en windows proque es un comando unix.
2. Como dije anteriormente, las funciones son las mismas pero las variables dependen de las funciones del SO, tal vez las variables que utilizas son creadas por linux.
Lee alguna documentacion de windows o MS DOS que son los que se aceptan en la consola.
Saludos.
Visita mi blog:
http://armizh.10h.us/
Fnx, fork de FreeNOS:
Código (sh) [Seleccionar]
git clone https://github.com/armizh/Fnx
Hamster, Entorno Integrado de Desarrollo C/C++:
Código (sh) [Seleccionar]
git clone https://github.com/armizh/Hamster

soyloqbuskas

¡Muchas gracias a los 2!

Al final he hecho lo que sugeria Eternal Idol, he usado las funciones CreateDirectory() y CreateFileMapping()

¡Un saludo!
"Si tienes 1 manzana y yo tengo otra manzana...
y las intercambiamos, ambos seguiremos teniendo 1 manzana.
Pero...si tu tienes 1 idea y yo tengo otra idea...
y las intercambiamos, ambos tendremos 2 ideas."


George Bernard Shaw

Eternal Idol

De nada, otra alternativa seria usar algo como Cygwin.
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

Akai

Pequeño apunte, ten en cuenta que las funciones a las que te refieres no pertenecen al grupo de librerías que provee el compilador, sino a las que integran el API del sistema operativo. Por tanto, van a cambiar entre un sistema y otro.

soyloqbuskas

¡Gracias por los aportes, un saludo!
"Si tienes 1 manzana y yo tengo otra manzana...
y las intercambiamos, ambos seguiremos teniendo 1 manzana.
Pero...si tu tienes 1 idea y yo tengo otra idea...
y las intercambiamos, ambos tendremos 2 ideas."


George Bernard Shaw