Es claro que estas cosillas de trabajo con memoria son las que dan a C toda su potencia acambio tal vez de solo pedir un poco de cuidado al programador
El documento es intereasnte ciertamente util pero ¿Es esto una noticia?
¿Es algo que merezca la primera pagina?
--
La caja dice use Windows o superior;Por eso, uso linuxlinux y cienci [unlockmexico.com]
Re:Potencia
de pobrecito hablador
(Puntos:1)
Martes, 31 Octubre de 2006, 00:34h
Re:Potencia
de pobrecito hablador
(Puntos:1)
Martes, 31 Octubre de 2006, 02:40h
1 respuesta por debajo de tu umbral de lectura actual.
Re:Potencia
de pezezin
(Puntos:1)
Martes, 31 Octubre de 2006, 17:54h
1 respuesta por debajo de tu umbral de lectura actual.
En mi opinión, uno de los problemas de C es que los arrays se implementen como punteros "a pelo". Que no se me malinterprete, los punteros son muy útiles y cualquier lenguaje debe tenerlos, aunque sea mediante referencias (menos flexibles pero más seguras). Pero un array tiene una cosa que los punteros no tienen: límites. Y eso en C se ignora, con los resultados que todos conocemos: desbordamientos de buffer.
La mitad de los comentarios son de personajes pedantes que pretenden demostrar su poderío y saber hacer en C, y tratan a toda costa de ridiculizar la noticia ya que "ellos ya lo saben".
Que os den a todos por el cacas, panda de fanáticos engreídos, que nadie sabe de todo. Ahora os chuleáis porque sabéis del tema, pero me gustaría ver cómo se mofan de vosotros los curritos en el taller cuando vais a cambiar el aceite del coche. Siguiendo vuestra propia teoría no deberían ni echar noticias en la tele pues siempre hay una manera de conocerlas de antemano.
Venga tíos-babas, una vez más: "Vaya mierda de noticia, esto ya lo sé yo, ¿qué tiene de interés?"
No folĺáis ni a la de tres.
--
-- gnome mires, gnome mires, déjalo ya, que hoy me borro el puto gnome...
Cuando hace un año me compré un fantástico AMD64 (no puedo estar más contento), me encontré con una situación curiosa debido a que tenía código mal escrito. El problema está en las funciones que devuelven una posición de memoria (array, p.e.) pero que no tienen el prototipo definido (o no se ha metido el include), compilando sin opciones que eviten la compilación ante falta de prototipos. Entonces si tienes la función:
int * genera_array( int tamanyo);
pero no la prototipas, en 32 bit "no pasa nada", pero en 64 bit tienes problemas, porque por defecto una función sin prototipo en C devuelve int que ocupa 32bit, mientras que la dirección de memoria en 32bit ocupa 32 bit; si bien en 64bit ocupa 64bit. En 64bit se carga la mitad de la dirección de memoria y te devuelve una dirección inválida :-P
Perseguir este tipo de situaciones es el pequeño esfuerzo que he tenido que hacer para portar el software a 64bit.
-- _____________ Un espresso? \____
1 respuesta por debajo de tu umbral de lectura actual.
En este tema, Qt brilla con luz propia, ya que cuando se programa con Qt no es necesario destruir los punteros a objetos que creemos, de ello se encarga Qt automáticamente. El mecanismo funciona así: todas las clases deben heredar de QObject. Con la interfaz no hay problema porque todos los widgets heredan de QWidget que a su vez hereda de QObject, y con nuestros objetos que no sean de la interfaz obtenemos más ventajas heredándolos de QObject, como poder usar señales y slots. A partir de ese momento, lo único que hay que hacer es pasarle el QObject padre en el constructor. Por ejemplo:
class MiClase : public QObject {
Q_OBJECT
public:
void MiClase(QObject *parent = 0);
};
MiClase::MiClase(QObject *parent)
: QObject(parent) {
// código propio del constructor
}
Y luego sólo tendríamos que crear el objeto, pero no es necesario destruirlo:
MiClase *obj = new MiClase(this);
El destructor de QObject se encargará automáticamente de destruir todos los objetos que sean sus hijos. De ese modo, no hay problemas con punteros que se queden por ahí perdidos. :)
Además, con la interfaz gráfica si un widget se añade a un layout o a otro widget, automáticamente se asigna el padre, con lo cual nisiquiera hace falta el this:
MiFormulario::MiFormulario(QWidget *parent)
: QWidget(parent) {
...
QPushButton *boton = new QPushButton;
QHBoxLayout *layout = new QHBoxLayout;
layout->addWidget(boton);
...
setLayout(layout);
}
TIOBE Programming Community Index [tiobe.com]
¿Te refieres a ese lenguaje que esta unos cuatro puntitos por debajo del java?
¿El mismo que es el segundo en uso despues del java?
¿Ese que esta unos seis por encima del c++?
Y hablando de C++, ese esta uno por encima del php. ^^
Claro que eso son solo estadisticas de uso, si tu no lo usas y no te gusta significará que ni siquiera debe existir.¿verdad? ^^
Anda que el Fortran con lo antiguo que es y lo vivo que sigue.
La antiguedad de un lenguaje de programacion no determina su relevancia ni que la información sobre el esté anticuada.
-- Si no obtienes respuesta sera porque no la mereces.
Como te dice el pobrecito hablador de abajo, Python está programado en C, por lo que alguna utilidad tendrá, aunque sólo sea para programar lenguajes megaguays.
Nota: python me parece un lenguaje cojonudo, con megaguays no quiero ser irónico (python es la leche). Me refiero a lenguajes fáciles de programar y con características avanzadas.
Me parece a mí que tu no has programado ni el VHS que tienes en el salón. Mierda! no hay valgrind para mi VHS! por eso acabo siempre grabando OT en lugar de House :-P
Potencia
(Puntos:1)( http://badillo.unlockmexico.com/ )
La caja dice use Windows o superior;Por eso, uso linuxlinux y cienci [unlockmexico.com]
Gracias a ...
(Puntos:5, Informativo)( http://fonsserver.dyndns.org/ )
La pega, solo para Linux (y no es portable)
-- Broadcom 6345 Linux distribution: http://brcm6345-linux.sourceforge.net/
Curiosa herramienta
(Puntos:2)( http://barrapunto.com/ | Última bitácora: Domingo, 26 Junio de 2011, 17:42h )
Salu2
Control de corrupción y pérdida de memoria
(Puntos:4, Informativo)( Última bitácora: Lunes, 05 Julio de 2010, 16:34h )
El problema
(Puntos:1)( http://barrapunto.com/ | Última bitácora: Viernes, 17 Noviembre de 2006, 23:39h )
Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn!
Qué peña más engreída hay por aquí
(Puntos:2, Troll)( http://barrapunto.com/ )
Que os den a todos por el cacas, panda de fanáticos engreídos, que nadie sabe de todo. Ahora os chuleáis porque sabéis del tema, pero me gustaría ver cómo se mofan de vosotros los curritos en el taller cuando vais a cambiar el aceite del coche.
Siguiendo vuestra propia teoría no deberían ni echar noticias en la tele pues siempre hay una manera de conocerlas de antemano.
Venga tíos-babas, una vez más: "Vaya mierda de noticia, esto ya lo sé yo, ¿qué tiene de interés?"
No folĺáis ni a la de tres.
--
gnome mires, gnome mires, déjalo ya, que hoy me borro el puto gnome...
Falta de prototipos
(Puntos:3, Interesante)( http://barrapunto.com/ | Última bitácora: Lunes, 24 Noviembre de 2008, 09:35h )
pero no la prototipas, en 32 bit "no pasa nada", pero en 64 bit tienes problemas, porque por defecto una función sin prototipo en C devuelve int que ocupa 32bit, mientras que la dirección de memoria en 32bit ocupa 32 bit; si bien en 64bit ocupa 64bit. En 64bit se carga la mitad de la dirección de memoria y te devuelve una dirección inválida :-P
Perseguir este tipo de situaciones es el pequeño esfuerzo que he tenido que hacer para portar el software a 64bit.
_____________
Un espresso? \____
Punteros en Qt
(Puntos:1, FueraDeTema)( Última bitácora: Jueves, 31 Enero de 2013, 09:47h )
Y luego sólo tendríamos que crear el objeto, pero no es necesario destruirlo:
El destructor de QObject se encargará automáticamente de destruir todos los objetos que sean sus hijos. De ese modo, no hay problemas con punteros que se queden por ahí perdidos. :)
Además, con la interfaz gráfica si un widget se añade a un layout o a otro widget, automáticamente se asigna el padre, con lo cual nisiquiera hace falta el this:
openSUSE [opensuse.org]
Re:Me esperaba algo mas interesante
(Puntos:3)( http://todoa99.blogspot.com/ | Última bitácora: Lunes, 20 Abril de 2009, 22:41h )
Re:pos vale
(Puntos:1)( http://www.fsf.org/ | Última bitácora: Domingo, 09 Mayo de 2004, 05:32h )
Tu presupones que no sabe, yo presupongo que le molesta leer en ingles mas bien.
Si no obtienes respuesta sera porque no la mereces.
Re:Esto hace 25 años...
(Puntos:2)( http://www.fsf.org/ | Última bitácora: Domingo, 09 Mayo de 2004, 05:32h )
¿Te refieres a ese lenguaje que esta unos cuatro puntitos por debajo del java?
¿El mismo que es el segundo en uso despues del java?
¿Ese que esta unos seis por encima del c++?
Y hablando de C++, ese esta uno por encima del php. ^^
Claro que eso son solo estadisticas de uso, si tu no lo usas y no te gusta significará que ni siquiera debe existir.¿verdad? ^^
Anda que el Fortran con lo antiguo que es y lo vivo que sigue.
La antiguedad de un lenguaje de programacion no determina su relevancia ni que la información sobre el esté anticuada.
Si no obtienes respuesta sera porque no la mereces.
Re:Ruby y Python son mejores
(Puntos:2)( http://press.asqueados.net/ | Última bitácora: Jueves, 17 Abril de 2014, 09:50h )
Nota: python me parece un lenguaje cojonudo, con megaguays no quiero ser irónico (python es la leche). Me refiero a lenguajes fáciles de programar y con características avanzadas.
Envíos descartados por Mu [barrapunto.com]
Re:pos vale
(Puntos:2)( http://barrapunto.com/ | Última bitácora: Lunes, 24 Noviembre de 2008, 09:35h )
Mierda! no hay valgrind para mi VHS! por eso acabo siempre grabando OT en lugar de House :-P
_____________
Un espresso? \____