Hace 17 años | Por --14217-- a trnicely.net
Publicado hace 17 años por --14217-- a trnicely.net

Parece que Microsoft sigue haciendo méritos para que no usemos su último producto. Ahora resulta que limita el uso de aplicaciones compiladas con GNU GCC. Es decir, que ya ni me dejan realizar mis propias aplicaciones si no es pasando por sus ‘económicos’ entornos de desarrollo. (Inglés)

Comentarios

RadL

Solo he encotrado una persona que me haya hablado bien de Vista, pero.. nunca ha usado Linux.

s

32 MB debería ser suficiente para cualquiera

D

Y si es un bug.... es un bug curioso, que solo afecta a las aplicaciones de terceros. ¡Que cosas!

isilanes

#2, el razonamiento se basa en una suposición errónea: si se vende, es que tiene algo bueno. Se vende, luego algo bueno tendrá.

Ocurre que para que un producto se venda, la única razón no es que sea bueno. Ni siquiera que sea barato. Otras razones pueden ser: lock-in de vendedor, con una red de terceros productos (aplicaciones comerciales) que solo funcionan en esa plataforma; dumping, proporcionando el producto a un precio inferior al coste para forjar un monopolio; eliminación de la posibilidad de elección del cliente, preinstalando el SO en los ordenadores nuevos; eliminación de las alternativas, comprando toda empresa potencialmente competitiva, y luego desmantelándola, e incluso eliminando soporte de productos propios que puedan ser competencia para el nuevo... Hay muchas maneras, y todas las practica Microsoft.

D

It's not a bug, it's a feature!

p

"Es decir, que ya ni me dejan realizar mis propias aplicaciones si no es pasando por sus ‘económicos’ entornos de desarrollo."
no es así lee antes de mandar una noticia.

"The limitation appears to apply to any compiler and linker not employing Microsoft's proprietary Win32 API"

Soluciones:
"migrating source code to the Win32 API, or migrating from the DJGPP environment to the CygWin, MinGW, Microsoft Visual C++, Borland/Inprise, or Watcom development environments."
y supongo que programar en mono también saltaría esta limitación y claro también usar menos de 32mb.

D

Investigando un poco mas el tema:
en http://msdn2.microsoft.com/en-us/library/6ewkz86d(VS.80).aspx
podeis ver que malloc sólo es compatible con:
ANSI, Windows 95, Windows 98, Windows 98 Second Edition, Windows Millennium Edition, Windows NT 4.0, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003

Donde esta Windows Vista? yo no lo veo, esta por ahi oculto?

El titular mas bien deberia de ser, GCC no es capaz de compilar aplicaciones para windows vista porque aun no se ha revisado para este sistema operativo. Recomendamos encarecidamente que no usen GCC.

Me parece una falta de criterio por parte de todos los que han meneado y han comentado poniendo a caldo a Vista, porque ni tan siquiera se han molestando en investigar que pasa. Asi os va, que noticia que sale, noticia que os la tragais sin verificar la fuente, y lo que dice. En fin, aqui parece que se sigue la doctrina que todos sabemos y sin protestar, sin investigar, sin indagar, ni tan siquiera cuestionando la veracidad de la noticia.
Gran comunidad esta, facil de manipular, facil de engañar.

test

Lo siento pero el enlace en ningún caso dice que se haya probado ejecutar programas compilados con gcc en modo de compatibilidad con XP al menos.

Veamos. MS-DOS murió. Murió con Windows Me. Ya no está. Ahora lo que hay son aplicaciones de consola, de DOS no. Y para ejecutar aplicaciones MS-DOS hay que inciar muchos emuladores, y tal vez sería bueno probar los modos de compatibilidad que lleva el Vista de serie.

No, no estoy diciendo que la noticia es errónea. Pero incompleta si.

m

#26, a si, es cierto, no recordaba que soy vidente y que puedo arreglar el compilador GCC sin tener ni idea de como funciona el codigo que hay debajo. Te invito a que repares el motor de un coche sin que te dejen abrir el capó, que parece que es lo que quieres que hagamos. Pude que tmbién quera arreglar un circuito dentro de una caja cerrada y sin especificaciones. La gente de GCC son informáticos, no milagreros. Me atrevo a afirmarlo por que él mismo dice que el código era totalmetne correcto, y que funcionaba dependiendo del compilador que usases, y que curioso que el que funciona sea solo el de las ventanitas. Si el código fuente de windows fuera abierto, el problema es de GCC, pero siendo cerrado y propietario y te corto los dedos si te acercas va a ser que el problema está en otro lado, y solo me queda microsoft. Quiero que me escribas ahora mismo (ya que aprece que ers dios y tanto sabes) un compilador de C++, pero para un sistema que funciona parecido a windows (¿Que necesitas más datos? va a ser que no) y por favor, a ensamblador de un micro que puede parecerser a los de Intel, pero que hemos cambiado dos instrucciones, por cierto, las nuevas instrucciones no te las documentamos. ¿Que no puedes hacerlo? Hay pobre, pues la culpa es tuya, como de la gente de GCC.

A si, ahora me explicas eso de que no hace falta pagar, que no me queda claro. Si el compilador que funciona es el de Microsoft, y es de pago, en mi pueblo eso es que te obligan, dado que o aceptas o dedicate a las pipas chaval. Molan mazo, eres libre de compilar con mi compilador o de no compilar. Si eso no es abuso que me lo explique un juez.

Yo reviso el codigo de GCC, pero dame el código del Vista para que pueda corregirlo. Creo que la última vez que escribi código (hace 10 minutos) el compilador no hacepta la línea:

Aqui haces como haria malloc, pero para windows vista, preguntale al sistema como se ahce que nosotros no sabemos, por que eseta cerrado y no nos dicen nada.

Parece ser que da error de compilación, y no poder ejecutar algo y jugar con la memoria es como que dificil.

D

#10 En este caso el Dumping no es aplicable debido a los infladísimos precios del Vista.

my.self

Microsoft le está haciendo publicidad gratis a sus alternativas, como Linux o Mac.

zetxek

#10, enlazador?

D

#23 Cierto, parece que han quitado malloc y new de Vista. Entonces.. qué se usa? No lo veo puesto en el artículo ese del MSDN.

De todos modos, si es que han quitado llamadas... no es problema de GCC, es problema de qué api use el programador.

tunic

# 29 : «MS proporciona herramientas para compilar. Las pagas, pero sabes que te funcionaran infinitamente mejor que cualquiera otra. Sino quieres pagar, sufre el GCC.»

Se te ha ido un poco la mano, ¿no?

En fin, hace tiempo, por suerte que no uso ningún compilador de Microsoft, pero el que venía con el Visual Studio 6.0 (si, es viejo, supongo que habrá mejorado), recuerdo que en alguna ocasión desenrollaba mal la pila de llamadas cuando se lanzaba una excepción y se saltaba todos los catch que deberían parar rl desenrrollado. Cambiando algo de código aleatoriamente se arreglaba.

Probablemente en GCC haya errores similares, pero mira que dudo que haya una diferencia... ¿infinita?

El modelo de permisos de Linux es posible que sea antiguo, y te puede parecer simple. El modelo que tenía Winodws XP precisamente se ha desechado por demasiado complejo, ni siquiera los propios desarrolladores de aplicaciones lo comprendían y tendían a dar más privilegios de los que necesitaban. El resultado eran aplicaciones que por un mal uso de los permisos podían compremeter el sistema. Había un bonito artículo que explicaba todo esto. Veremos si han acertado con el modelo Windows Vista, pero la verdad es que a mi me da más confianza un sistema con rodaje que uno recién salido del horno, que aún no ha sido puesto a prueba.

Lo de la pila TCP/IP lo puedes leer, por ejemplo, aquí: http://www.kuro5hin.org/?op=displaystory;sid=2001/6/19/05641/7357

Por último, te diría que relajases el tono de tu discurso, es difícil llegar a nada interesante con tu actitud de «Voy sobrado».

m

Pero termina haciendote modificar TODO el codigo. Si da algo nuevo, pos fale, pero es que Vista no se caracteriza precisamente por su eficiencia. Si, se lo de lsa API, pero eso no quiere decir que no me toque las narices que estén todo el día dando por saco y cambiando y jodiendo compatibilidad y esas cosas.

¿Por que iria a la carcel? Por favor, explicamelo, que no lo pillo. La pila TCP/IP de windows es la de BSD, entre otras cosas por que al licencia de BSD lo permite.

http://es.wikipedia.org/wiki/Implementaciones_de_TCP

Por ejemplo, Microsoft Windows usa código derivado de BSD en su implementación de TCP, e incluye herramientas de red para consola originales de BSD (detalles).

http://es.wikipedia.org/wiki/BSD

Por ejemplo, Microsoft Windows ha utilizado código derivado de BSD en su implementación de TCP/IP, y utiliza versiones recompiladas de la línea de comandos BSD para las herramientas de redes.

Amos, más claro agua. Es el ejemplo que siempre se da de que Microsoft no seria nad si las patentes de software exisitieran desde los años 80. No entiendo que problema me da realizar esta afirmación. A si, no, no he podido ver el codigo, creo quecordar que el código de windows es CERRADO, es PROPIETARIO, bla bla bla, es decir, que vete tu a saber cuantas más cosas han copiado. No se puede demostrar nada ni en un sentido ni en otro, por lo que en esa parte no entro.

Mi frustración viene de trabajar con windows, entrar como administrador de sistema, y que em salgna ventanitas de que no tengo privilegios suficientes para hacer tal cosa o tal otra.

x

Cuando salio al mercado .NET quemé las naves tiré 4 años de visual basic, 3 de delphi y me pasé a linux c/c++, ¿La razon? vi claro que .Net era una plaza de toros en la que MS nos quería meter
y cuando lo hubiera hecho nos haría una buena faena y nos cortaría las dos orejas y el rabo.
Esta y otras noticias que poco a poco irán apareciendo confirman mi hipotesis
Simplemente hay que fijarse en el poco ó nulo caso que estan haciendo a vista los "grandes" ibm
Oracle SAP, todos ofrecen soluciones web para sus aplicaciones,huyendo de crear aplicaciones de escritorio en vista usando :NET

m

A si, por partes, los programadores de GCC saben como funciona malloc, pero no tienen ni guarra de como funciona la API, no saben cual elegir apra optimizar código, juegan con desventaja.

Por otro lado, ahora vas y me explicas que es el fichero SAM de windows, que creo recordar que era de usuarios, y no del "tio Sam".

m

Perfecto, zanjado, pero no me has contado lo de la querella.

p

#9 pues yo coincido con #7 vista restringe la memoria a todos los compiladores y linkeadores(¿hay alguna traducción mas correcta para linker?) que no usen la api de windows, con lo cual puede ser un bug, o no.
De todas maneras el que quiera programar para windows poco le importara usar la api de windows, puede que sea propietaria pero no cobran por usarla, y como ya mencione estan CygWin, MinGW, Mono y Java, todas estas opciones libres y gratuitas.

D

yo era un desarrollador en el entorno DJGPP hace casi una década, con su memoria DPMI, su go32x.exe y su total ausencia de enlace dinámico. Yo soy de los que usaban emacs en DOS, rhide y Allegro. De los que empezaban y por ello se tragaban toneladas de páginas texinfo en inglés. De los que nunca entendieron toda la tontería en modo real alrededor del TurboC de Borland porque trabajaban en modo protegido (todo sea dicho, sin entenderlo del todo).

El DOS está muerto. DJGPP está muerto y su autor, DJ Delorie, trabaja desde hace años en cygwin (propiedad de Red Hat). El tiempo avanza y ya pocos dan soporte al DOS. Así que un port de GCC, antiquísimo, funciona ahora con algunas limitaciones en el nuevo SO. A mí me sorprende que aún funcione, aunque sea un poco.

Y el que quiera programar en windows usando GCC puede usar mingw32 y cygwin, los dos entornos con un montón de soporte, libres, y estupendos. O puede usar un emulador de DOS y correr DJGPP. Es triste porque nadie conoce ya a Elii Zaretsky (probablemente el mayor experto en DJGPP) ni se acuerda de aquella instalación con pkunzip en el paleolitico y la cosa se reduce a lanzar FUD. Eso es, que la realidad nunca te estropee un titular. Que levante la mano el que haya usado en los últimos dos años no solo el entorno DJGPP, sino cualquier ejecutable (y si, el viejo upx cuenta).

Y que conste en acta que yo uso Debian.

D

Donde he dicho #10 en #13, me refería a #5.

D

Windows Vista no es el único en el que no se pueden ejecutar programas hechos con GCC. Con Windows XP tampoco se puede pues hace una semana compile un sencillo programa para Windows y lo probé en dos ordenadores que tenían Windows XP y me daban un error pero compilé el código fuente con un compilador, el Visual Studio me parece que se llama, que lo tenía uno de los ordenadores en que lo probé y al probarlo después si funcionaba. He de decir que el programa no tenía ningún error pues lo compilé con el GCC para linux también y me funcionaba sin problemas.

pejeno

Esos que votaron negativo a #18 no reconocen un buen chiste basado en historia cuando lo ven. Aflojense un poco jeje.

m

Pues sinceramente, eso viola las leyes antimonopolio ya que limita el uso de aplicaciones de terceros, obligandolos a pagar si quieren pasar por el aro (ya se las apañaran ellos para conseguirlo). Que quereis que diga, que me parece genial, a ver si ahcen más imbecilidades de esas, y las empresas de desarrollo que les hacen el software mandan Vista a freir esparagos por extorsionadores y por poner normas dificiles apra programar o compilar o lo que les de la gana. Llegan a poner algo propietario y de pago para que se pueda hacer y era violación seguro. De todas formas, el API es propietario, por lo que pueden decir quien lo usa y quien no, por lo que, por muchas vueltas que el doy, es monopolio, de ese que no gusta. Creo que ya, con esto, vista deberia ser ilegal en Europa (ya lo es en algún pais por lo del DRM).

x

#13 pero si es aplicable a Microsoft, recordando el caso internet explorer vs netscape.

Yo llevo usando ordenadores desde hace mucho tiempo y nunca habia faltado a ninguna entrega de windows, excepto vista, el cual no he visto ni en pintura. Sólo tengo ordenadores con Ubuntu, en casa y en la empresa, que a buen seguro no presentan ese "bug"

esquirol

Dell, vuelve a instalar a petición de los usuarios Windows XP en lugar de Vista en algunos de sus modelos. No si al final entre todos lo conseguiremos....

m

#23 el titular deberia ser: "Otra vez el codigo cerrado dando problemas: dado que los programadores no tienen ni la más minima idea de como funciona el sistema, la empresa abusa de la situación imponiendo sus herramientas"

Microsoft cierra todo, lo hace incompatible con todo y putea. El ejemplo lo pone #24, un codigo perfectamente correcto no eres libre de compilarno con cualquier compilador, tienes que pasar por caja y pagarte el Visual Studio para que compile correctamente.

R

#7 Amarillista sería: Salen fotos de tux en el hola haciendo topless en la playa junto a clipo

D

#32, entonces se usan las llamadas a la API de reserva y liberacion de memoria. Mas info en MSDN.
El problema sigue siendo del GCC que no se ha actualizado. El GCC compila programas para los diversos sistemas operativos, no son los operativos los que se amoldan al GCC. Ningun operativo se amolda a ningun compilador, son los compiladores los que hacen uso del operativo y optimizan y compilan en base al operativo y la arquitectura de destino. Esto lo sabe hasta mi sobrino que tiene 5 años.
Y vamos a ver, esta claro que todo el mundo tiene derecho a expresarse, pero hacerlo con un minimo de conocimiento, mas que nada, porque asi demostrais vuestra ignorancia en los sistemas windows, por lo que vuestras criticas carecen de valoracion y criterio. Os lo dice una persona que lleva programando 10 años en C/C++ en sistemas Linux y C/C++/VC++ en sistemas Windows. Pero la verdad es que me divierto mucho con algunos comentarios que se vierten aqui.

Edito: Campaña proargumentos de votos negativos, un voto negativo un argumento. No?

m

Como mola, si no usas el API porpietario, si no te amoldas a nosotros, se siente, 32 y a freir esparragos. ¿Queres un sistema totalmetne funcional, pues chaval, a modificarlo todo o a pasar por caja. Si les mola que als cosas sean tan cerradas, que las hagna ellos todo, pero todo es todo, que borren el codigo de TCP/IP que pillaron de BSD y lo escriban ellos desde cero. Me toca las narices que todo dios tenga que trabajar de una forma u otra para microsoft (reconozco que parte de esta culpa la tienen los directivos que no saben encender un ordenador y se emperran en quedarse en windows por los colorines). Pero es eso, siempre cerrando, siempre puteando. Me gustaria vreles a ellos, a ver que dicen, si ahora apple saca un nuevo Ipod, pero no da compatibilidad para windows, solo las especificaciones y que ellos piquen código. En dos días los tienes en los juzgados.

D

Entonces, ¿el GIMP bajo Vista sólo tiene acceso a un máximo de 32MB de RAM?, ¿o usa alguna API de Windows?...

D

Pero a ver medyr a ti que mosca te ha picado? todo programa windows termina llamando a una funcion de la API de windows. Eso lo sabes? o es que no tienes ni p..a idea de como va esto? es como en linux, todas las llamadas al sistema que hace un programa de usuario, pasan por la glibc, eso lo sabias?

Lo que comentas de la pila TCP/IP en que te basas? has visto el codigo? esas afirmaciones sabes que te podrian llevar a la carcel o a alguna querella?
Si te toca las narices que todo dios tenga que trabajar como dice MS, te tocara las narices que todo dios tenga que trabajar como dice el señor linus. No?
Parece que has tenido algunas experiencias fustrantes con windows, no? deberias de ir a un psicologo, ellos hacen una gran trabajo con la gente como tu.

Y me reitero en lo de antes, aun no has pillado de que va todo esto. malloc no es compatible con W.Vista, si necesitas hacer un malloc, llama a la funcion de la API correspondiente. Por cierto, las llamadas son gratis, MS no te cobra por cada llamada que haces.

D

#25, que tonterias dices. Los argumentos falaces e insostenibles de los que haces gala, representan la mas rotunda ignorancia. Y por cierto, con los pocos detalles que da #24 eres capaz de afirmar semejante tonteria? No pases por caja, cogete el codigo del GCC y revisas a ver en que falla, lo modificas, lo envias a los repositorios y lo haces compatible para todo el mundo. No es asi como funciona el codigo libre? No hace falta que pagues, nadie te obliga a compilar con lo que quieras, pero si el compilador no es capaz de compilarlo, es mas facil decir que MS es malo que decir, voy a ver que pasa con el GCC y veo porque no compila, lo arreglo y mando las modificaciones.

D

medyr, sigo pensando que deberias de hacertelo mirar. Tanto te jode que el administrador de windows no sea el rey del mambo como en linux? En linux root puede borrar tranquilamente el fichero de usuarios por accidente, en windows eso no pasaria nunca aunque existiera el ficherito de usuarios. Porque, porque los de MS se han dado cuen, que los administradores no son dioses, son seres humanos y pueden meter la pata. Si no tienes permisos en hacer tal cosa, sera por tu proteccion. si quieres hacer algo malo explicitamente, confirmalo con el sistema.
Windows y linux en administracion son bastante diferentes. Windows esta planteado de mucho mejor forma hacia el administrador que Linux: Grupos de usuarios, permisos en ficheros, seguridad integrada centralizada, etc, pero tu de esto seguro que debes de saber mucho porque eres administrador de sistemas. En linux sin embargo, el tema de los grupos esta pensado, como diria yo, como el culo? Lo de que el administrador es dios y no se comprueban permisos de nada si el UID es 0 es muy seguro, no?
En fin, Tu seguiras viendo a MS como algo malo, otros veremos los dos sistemas como algo distintos, unos validos para una cosa, otros validos para otra cosa. El tema del codigo fuente cerrado, llevarlo a limites extremistas como lo haces tu, me parece que es algo que deberias de meditar tranquilamente.

Y sigo con lo de antes, aqui se habla de malloc, no de si es cerrado windows o no, eso ya lo sabemos todos. Pero hacernos participes de tu fustrada experiencia como administrador de windows no tiene precio, deberias de cambiar de trabajo.

Ale, dejo por zangado este post, porque esto habla de malloc y del gcc, no de otras cosas.

D

#6 me demuestras un gran desconocimiento de mono.
#20 desde cuando el GIMP va bajo MS-DOS?
Por cierto, que tiene de malo utilizar la API? tan malo es?

D

#28, parece que no te has enterado de que va el tema.
malloc no es compatible con W.Vista, pero está la funcion de la API, que puedes utilizar perfectamente, para poder hacer lo mismo que malloc. Tanto te cuesta comprender eso? para mas detalles, pasate por www.msnd.microsoft.com

Pero los defensores del codigo libre no sois los primeros que se os llena la boca de decir, que si algo no os gusta como funciona o si tiene algun bug sois los primeros en bajaros el codigo fuente y retocarlo? ahh, espera, que eso es muy dificil!!

Te repito que no hace falta pagar por un compilador para windows. Tan solo arreglar el GCC en sus pequeñas deficiencias o sus grandes bugs, como quieras llamarlo.

MS proporciona herramientas para compilar. Las pagas, pero sabes que te funcionaran infinitamente mejor que cualquiera otra. Sino quieres pagar, sufre el GCC. Esto es como los coches, los mecanicos del fabricante, saben infinitamente mejor los intringulis del coche que el taller del tio paco, si no quieres ir al tio paco, porque no sabes lo que te va a hacer, gastate la pasta en ir al taller especializado, o la otra opcion que te queda es, haztelo tu mismo.

Como te vuelvo a repetir, en el MSDN dice que malloc no es compatible con W.Vista, asi que no hay que arreglar nada exceptuando el GCC. No confundas las cosas.

Otra cosa, yo llevo mucho tiempo con esto de la programacion en C, y claro que he tenido problemas con fuentes que me he bajado y estaban para el GCC, es muy chulo lo de la portabilidad, pero todos sabemos que no es oro todo lo que reluce. Diferentes versiones del GCC no compilan los mismos fuentes, y por no hablar de las diferentes plataformas. No desconfio de lo que ha contado #24, pero para hablar seriamente de ello me harian falta muchos mas detalles que simplemente decir que se producia un "error". Que tipo de error?

klam

Pues el titular es amarillista. El problema existe, pero parece mas un bug.