|
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Mensajes - Eternal Idol
Páginas: 1 ... 71 72 [73] 74 75 ... 205
1801
« en: Jueves 1 de Noviembre de 2007, 18:04 »
Primero haces scanf con %f y le pasas un int, usa %d. Despues le asignas a x el valor de x2 que en ese momento es indefinido. ¿De verdad necesitas x2? Lo dudo. Por ultimo mira el bucle con detenimiento ...
1802
« en: Jueves 1 de Noviembre de 2007, 16:52 »
De nadas
1803
« en: Jueves 1 de Noviembre de 2007, 09:09 »
Usa sockets (Winsock si es para Windows) como en cualquier otro lenguaje.
1804
« en: Miércoles 31 de Octubre de 2007, 19:01 »
Las tenes que escapar con \ asi por ejemplo:
char *hola = "\"hola\"";
1805
« en: Miércoles 31 de Octubre de 2007, 16:55 »
Hay algunos moderadores que no participan desde hace siglos
1806
« en: Miércoles 31 de Octubre de 2007, 16:51 »
1807
« en: Miércoles 31 de Octubre de 2007, 08:07 »
C++ te permite usar el mismo paradigma que C (programacion estructurada) y la amplia mayoria de las veces exactamente el mismo codigo.
Investiga sobre POO (programacion orientada a objetos).
1808
« en: Martes 30 de Octubre de 2007, 18:15 »
... aunque pedidos de tareas nunca faltan Para nada
1809
« en: Martes 30 de Octubre de 2007, 13:10 »
¿Tenes que escribir algo de codigo en C++ para hacer esto? Buscando cpptaks en Google encontre esto: http://www.ddj.com/architect/184405433Tal vez te sirva, pero si no tenes que escribir codigo entonces habra que mover el hilo a donde corresponda.
1810
« en: Martes 30 de Octubre de 2007, 11:55 »
¿Depuraste el programa? Ese codigo lo que hace es crear una CLAVE en el registro, si queres crear/modificar un valor tenes que usar RegSetValueEx.
1811
« en: Martes 30 de Octubre de 2007, 08:09 »
1812
« en: Lunes 29 de Octubre de 2007, 22:42 »
xDD igual lo pude arreglar que compilador recomiendas para C Eternal Idol el mio no habia saltado el error que en el scanf le faltaba & igual deje el codigo por si alguno le sirve de algo VC++ para Windows y gcc para GNU/Linux. Tambien te recomiendo no usar bibliotecas no standard y totalmente inutiles como conio.h ...
1813
« en: Lunes 29 de Octubre de 2007, 12:57 »
Es algo y asi al menos demostras que estas intentado hacer TU tarea ¿Probaste a compilarlo? ¿int num? Falta que le asignes un valor, busca una funcion para leer un numero.
1814
« en: Lunes 29 de Octubre de 2007, 07:40 »
Depuralo, no hacemos tareas ajenas aca.
1815
« en: Domingo 28 de Octubre de 2007, 02:18 »
No les hacemos tus deberes. Efectivamente, paso a cerrar este hilo y espero no tener que seguir borrando mas pedido de tareas de este usuario, sino me vere obligado a reportarlo.
1816
« en: Sábado 27 de Octubre de 2007, 19:21 »
No hice trampa... "Main() must return int"... Estaba en cursiva  Y al fin y al cabo era engañoso, usaba el registro eax por ser int el tipo de retorno (que forzabas mediante casting).
1817
« en: Sábado 27 de Octubre de 2007, 18:12 »
1818
« en: Sábado 27 de Octubre de 2007, 10:22 »
Windows. GNU/Linux.
PC.
1819
« en: Sábado 27 de Octubre de 2007, 10:21 »
no... no dije que si tuviera una cadena cada elemento ocuparía un byte... ya que las cadenas se agrupan en bytes consecutivos y el procesador mediante el índice (byte) puede ir pasando de caracter a caracter.... Bueno, igual no es asi ... simplemente proba el codigo que deje, esos dos caracteres separados tienen direcciones consecutivas al no estar en la pila. No es una cuestion de tipo de datos ... por algo sizeof de un char devuelve uno y el compilador es capaz de leer y escribir ese caracter sin problemas, ocupe lo que ocupe por el alineamiento. Otro ejemplo interesante que esta bastante relacionado es este: typedef struct _ejemplo { char letra; }ejemplo;
¿Cual es el tamaño de esa estructura? Con el VC++ independientemente del packing alignment (P.A.) siempre sizeof es 1. Vamos a otra: typedef struct _ejemplo { char letra; int numero; }ejemplo;
Con el P.A. por defecto y con el packing a 4 esa estructura ocupa 8 bytes. ¿Que pasa con un P.A. de 1? Ocupa 5 bytes. Packing alignment: #pragma pack (show) #pragma pack (1) #pragma pack (show) Un char es un BYTE, incluso cuando esta en la pila ocupando 4 bytes sizeof devuelve 1 y permite trabajar con ese byte unicamente (al menos directamente). Y si ocupa 4 bytes en la pila es por el funcionamiento de la misma: push 1 = 0x6A 0x1 ¿Que pasa con la pila? esp -= 4; o sub esp, 4 no... lo que yo digo es para definir variables comunes, como contadores, etc... no para el trabajo con strings... y recomendaban justamente eso por lo que te mostré en el código en assembler... Es assembly y tiene sentido usar DWORD a veces por dos razones: el alineamiento a 32 bits y el uso de la pila. Por cierto ahora que lo veo con el tipo de retorno hiciste trampa: ?x@@YADXZ (char __cdecl x(void)): 00000000: 55 push ebp 00000001: 8B EC mov ebp,esp 00000003: B0 19 mov al,19h 00000005: 5D pop ebp 00000006: C3 ret
1821
« en: Viernes 26 de Octubre de 2007, 15:33 »
La verdad en todas las plataformas que trabajé vi eso, fijate: Pero esas son variables en la pila, es tema del compilador, si haces esto: #include <stdio.h> char a = 'A'; char c = 'B'; void main() { char *ptr = &a; printf("0x%X\r\n", ptr); ptr = &c; printf("0x%X\r\n", ptr); }
A y B son consecutivos y no hay ningun cero tras cada caracter, logico. Si usas memoria dinamica la misma historia. Ademas si lo que decis fuera cierto cadena de caracteres ocuparia 4 * caracter y eso no es asi ... es por eso que en muchos manuales te dicen que es recomendable usar solo variables int ya que de todas formas siempre utilizas 32 bits... Me parece que estas confundiendo con el tema de "alineamiento" a 32 bits. PD: Y en el mejor de los casos, con instrucciones como:
mov byte ptr [edx], 41
el registro edx termina conteniendo: 0x00000041 Con esa instruccion el valor de edx no se modifica en lo mas minimo, se cambia UNICAMENTE el primer byte (char digamos entonces) de la direccion que contiene edx. Eso es igual a hacer: *var = 'A'; mov edx, 0x41 si tendria el efecto que comentas.
1822
« en: Viernes 26 de Octubre de 2007, 09:09 »
char a='A';
Dependiendo de la máquina y del modelo de memoria que se utilice tenes las siguientes posibilidades: ¿Que plataformas conoces donde eso no ocupe un solo byte?
1823
« en: Jueves 25 de Octubre de 2007, 21:52 »
buf, ahora si que estoy perdido.... con lo feliz que era en mi ignorancia , ahora estoy un poco confuso, a ver, los procesadores de 32 bits, por ej, son para procesar instruccines de 32 bits (instrucciones como if, for, etc), mientras que las variables se alojan en memoria (RAM, por lo general). Con los datos y las instrucciones, el procesador hace su trabajo, pero no entiendo que tiene que ver que el SO utilice software de 32 o 64 bits, para que reserve 64 bits para un caracter en el vista de 64 bits, por ejemplo Otra vez, es que no se reserva memoria dinamica sino que una variable local esta en la pila y para poder APUNTAR a una direccion se necesita un determinado tamaño para poder direccionar a la misma: Por ejemplo si tuvieras un puntero a la direccion 0xFF00FF00 no podes usar menos de 4 bytes para guardar esa direccion, por mas que sea un puntero a char y que solo el primer byte sea valido. Y lo mismo si tenes una direccion que es 0xFF00FF00FF00FF00 no podes usar 4 bytes, necesitas 8.
1824
« en: Miércoles 24 de Octubre de 2007, 23:08 »
Por sierto, que los que se mandaron las cagadas, son "operadores de pc" normales. Es decir, tienen el perfil del usuario más comun de una computadora. (por lo menos eso parecen) Para eso estan los productos de "application control", por ejemplo tenes una base de datos de los ejecutables permitidos (programas, librerias, drivers) y los que no estan ahi ... no los metes ni a palos. Ese es un tipo de solucion por ejemplo ...
1825
« en: Miércoles 24 de Octubre de 2007, 22:47 »
sigo probando, pero dime eternal en tu opinion define ese termino de un poco de sentido común, es decir, que antivirus se puede confiar , que firewall o que suite es aconsejable Gracias por tu experta opinion Sentido comun: no ejecutar malware.
Páginas: 1 ... 71 72 [73] 74 75 ... 205
|
|
|