elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


  Mostrar Mensajes
Páginas: 1 ... 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 [150] 151 152 153 154 155 156 157 158 159 160 161
1491  Programación / Programación C/C++ / Re: Interpretar o compilar desde txt en: 19 Enero 2016, 19:31 pm
Como dije buscas algo como Cling, que es un JIT, para C++ y como intérprete que es tiene su consola, como python.
Algo más cerca de lo que buscas no creo que encuentres.

Aquí hay una buena opinión de porqué C/C++ no tienen JIT.
1492  Programación / Programación C/C++ / Re: CItem::Convert : la función no acepta 7 argumentos en: 18 Enero 2016, 20:35 pm
El argumento está esperando un puntero largo a BYTE (un puntero a BYTE) pero le estás pasando un BYTE. Como son tipos de datos diferentes el compilador se queja. Suponiendo que has definido bien tu BYTE que le pasas a la función pon delante de la variable el símbolo & algo así como:
Código
  1. Converter(..., &miBYTE, ...)
suponiendo que miBYTE es el byte que le vas a pasar a la función como octavo parámetro.
1493  Programación / Programación C/C++ / Re: consulta sobre el uso del ampersand en variables de tipo string en: 18 Enero 2016, 20:28 pm
Sí, pax, en este caso, es un array y por tanto cuándo se acceder a la variable solo con su nombre estás accediendo a la dirección el primer elemento de este array.
Como prueba de ello puedes probar lo siguiente:
Código
  1. /* Después de char pax[]="Juan Sin Miedo"; */
  2. char *puntero_a_char = pax;
  3. printf("%s %s\n",puntero_a_char, &puntero_a_char[4]);
  4. puts(puntero_a_char);
  5. puts(&puntero_a_char[4]);
1494  Programación / Programación C/C++ / Re: consulta sobre el uso del ampersand en variables de tipo string en: 18 Enero 2016, 19:46 pm
& devuelve la dirección de memoria de la variable que le sigue.
%s de printf y puts esperan la dirección de memoria del inicio de una cadena. Un puntero es una dirección de memoria y el nombre de un array también actúa como un puntero.
En cambio cuándo haces pax[4] estás accediendo a una variable de tipo char, no a una dirección. Así para que la opción %s de scanf y puts escriban la cadena a partir de pax[4] hasta el final debes pasárselo como dirección de memoria y eso se hace con el & delante.

Cuando llegues a los punteros sabrás más de ello.
1495  Programación / Programación C/C++ / Re: CItem::Convert : la función no acepta 7 argumentos en: 18 Enero 2016, 19:37 pm
La función no está sobrecargada ni tiene valores por defecto en el parámetro. Para llamarla debes pasarle tantos argumentos como tiene en su definición, en este caso 10.
1496  Programación / Programación C/C++ / Re: Dudas de programa en C en: 18 Enero 2016, 18:43 pm
Dice Orb:
Citar
habia que obtener la media de los datos mediante una funcion

Por tanto la media no se debe obtener en el mismo cálculo.
Por otra parte, en caso de hacerlo todo en la misma función el usar un array sería malgastar memoria y tiempo de cálculo de la posición de elementos.
1497  Programación / Programación C/C++ / Re: Duda tonta de parámetros en: 18 Enero 2016, 18:20 pm
Orb, los argumentos de la función main, argc y argv, son para acceder a los parámetros que se le pasa al programa como información adicional.

argc es un entero que indica cuántos parámetros se han enviado. El nombre del programa es el primer parámetro y por siempre tendrá un mínimo valor de 1.

argv es un array de cadenas, cada una de ellas es un parámetro pasado al programa, así pues suponiendo la siguiente ejecución de un programa en línea de comandos:

miprogramasuma 1 2

argc valdrá 3, marcando que se han introducido tres parámetros por llamada.
argv[0] será la cadena miprogramasuma
argv[1] será la cadena 1
argv[2] será la cadena 2

Hay que recordar que todo son cadenas, incluso los números que se han pasado como argumentos son cadenas y no se pueden operar matemáticamente sin antes haberlos convertidos a su valor numérico.
También hay que tener en cuenta que, como son argumentos de main, solo son visibles a esta función.
Por último, argc y argv son nombres de variables que pueden ser llamadas de otra forma (p. ej. nargs y argum) pero que por convención tienen estos nombres.
1498  Programación / Programación C/C++ / Re: Duda tonta de parámetros en: 18 Enero 2016, 16:19 pm
De todas formas tampoco tiene claro como funciona el paso de parámetros a una función.
Ya son unos cuántos que confunden parámetros de función con declaración de variables locales. Si su estudio viene del mismo sitio, en dónde sea que lo hagan, dan las clases muy mal.

Orb, cuándo tu función está declarada cómo
Código
  1. int operacion(int a, int b)
quiere decir que desde donde se la llame se le van a pasar dos enteros, el a y el b, para que dentro de la función se trabaje con ellos. Algo así como:
Código
  1. int operacion(int a, int b) {
  2.    printf("La suma de a y b es %i.", a + b);
  3.    ...
  4.  

En cambio si quisieras que a y b formaran parte de la función pero no deben ser usadas para pasar parámetros en ella:
Código
  1. int operacion() {
  2.    int a = 2;
  3.    int b = 3;
  4.    printf("La suma de a y b es %i.", a + b);
  5.    ...
  6.  

Hacer algo como lo que has puesto:
Código
  1. int operacion(int a, int b) {
  2.    a = 2;
  3.    b = 3;
  4.    ...
  5.  
Es una mala práctica ya que, sea lo que sea que has recibido por a y b, lo sustituyes por tus propios datos. Tu dirás: si así funciona, ¿porqué cambiar? La razón es que para llamar a la función debes pasarle tantos argumentos como así la hayas definido, además si la usa otra persona que no eres tú esperará que funcione de una forma cuándo se encontrará con resultados extraños porqué machacas lo que ella ha querido pasar.

Por otra parte tu función retorna un valor entero. Cuándo las funciones son declaradas con un valor de retorno éstas siempre deben terminar devolviendo un dato de ese tipo, aunqué después no lo uses, como ocurre casi siempre con printf (sí, printf devuelve un dato entero). Las únicas que están exentas de ello son las funciones con retorno tipo void.
1499  Programación / Programación C/C++ / Re: ¿Cómo usar IF con un métodos de una clase? en: 18 Enero 2016, 10:07 am
Por ahora todo está bien. Muestra Identificar.
1500  Programación / Programación C/C++ / Re: Hardware y C/C++ en: 18 Enero 2016, 09:29 am
C puede acceder directamente a la memoria, los punteros le dan esa capacidad. Si la máquina mapea el hardware a la memoria C puede acceder así al hardware,  pero eso no es portable ya que depende de cada arquitectura. Si el acceso al hardware no es por memoria C ya no puede acceder a él y se deben usar funciones escritas en ensamblador expresamente para dotar al programa de ese acceso.
Y todo esto en un sistema sin el modo protegido, en caso contrario hay que solicitar permiso al S.O. o cambiar de anillo en el procesador mediante unos códigos ASM específicos.
Páginas: 1 ... 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 [150] 151 152 153 154 155 156 157 158 159 160 161
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines