Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - digimikeh

#11
Buenas a todos...

Revisando el código de un driver me di cuenta que se hace uso de valores hexadecimales, cual es su utilidad/ventaja ?



const uint8_t value0 = 22c;


Saludos
#12
Me queda claro.. muchas gracias
#13
buenas...

Me pregunto por qué no hay fallo de segmentacion (o indice fuera de rango en el vector) en el siguiente codigo..:

Código (cpp) [Seleccionar]

#include <iostream>
#include <vector>

class alpha{
private: 
    int x {0};
public:
    alpha(const int _x) : x{_x}{}
};

int main(){
    std::vector<alpha*> vA;
    for (int m{0}; m != 2; ++m) vA.push_back(nullptr);
   
    vA[0] = new alpha(0);   //OK
    vA[1] = new alpha(1);   //OK
    vA[2] = new alpha(2);   //Aqui debe arrojar un error de subscript fuera de rango..
   
    return 0;
 
}


La duda me vino ya que estoy desrarollando un programa en Qt Creator, estoy usando GCC pero ahi nunca me arrojó un error, luego probé compilar en windows con msvc y ahi me arrojo el error, luego al revisar el codigo encontré sentido que arrojara el error porque realmente la linea vA[2] esta fuera de rango, no hay nullptr empujado en el vector en ese indice.... pero GCC lo acepto de todas formas.. no comprendo por qué

saludos.!
gracias.

#14
Efectivamente!... un macro nomenclatura para definir un puntero a un objeto

PT (Material)   quiere decir Puntero a Tipo Material, o sea que es lo mismo que Material*

seguro es algun tipo de puntero inteligente que el framework utiliza internamente.

saluos.
#15
Programación C/C++ / consulta sobre esta sintaxis..
10 Septiembre 2020, 19:33 PM
Hola amigos...

Primera vez que veo este tipo en una sintaxis... me da la idea que es un tipo de macro pero les pregunto a ustedes para estar seguros:


PT(AsyncTaskManager) taskMgr = AsyncTaskManager::get_global_ptr();


La linea está sacada de un Game Engine llamado Panda3D, entiendo que es un declaracion de una variable cuyo valor es el resultado de una funcion estática y que devuelve un objeto del tipo PT(AsyncTaskManager)

Mi duda es justamente con ese tipo, primera vez que veo un tipo que parece función, como se llaman o qué función cumplen?

Saludos y gracias


Edit::

Sospecho que es una clase functor (con el operador () sobrecargado).. puede ser?
#16
Programación C/C++ / Re: Hilos
9 Julio 2020, 17:19 PM

Actualmente utilizo Qt Creator como IDE por lo que tengo que buscar en alguna parte donde meter el flag..

Gracias estimado por la gran ayuda..

Saludos cordiales.
#17
Programación C/C++ / Re: Hilos
9 Julio 2020, 02:17 AM
Hola!
gracias por la respuesta...

Efectivamente ahi corrieron los dos hilos simultaneamente...

Aprovecho la instancia para preguntar: Por qué en Linux este codigo no funciona?

El mensaje que obtengo del compilador es:

/usr/include/c++/8/thread:127: error: undefined reference to `pthread_create'

Saludos y agradecido nuevamente.
#18
Programación C/C++ / Hilos
8 Julio 2020, 04:29 AM
Buenas noches...

Entiendo a modo muy general el tema de los hilos...
Al ejecutar el programa no está ejecutando ambos hilos al mismo tiempo, sino que ejecuta h1, espera a que termine y luego ejecuta h2... como logro que se ejecuten ambos a la vez?, entiendo que debo usar mutex para que no haya resultado inesperado con std::cout lo tengo en cuenta.. pero independiente de eso, mi objetivo es ejecutar los dos hilos a la vez. Saludos y gracias.



#include <iostream>
#include <thread>

int main(){
    std::thread h1(
                [](){ for (short x{0}; x != 11; ++x) std::cout << x << std::endl; }
    );
    h1.join();
   
    std::thread h2(
                [](){ for (short x{90}; x != 101; ++x) std::cout << x <<std::endl; }
                );
    h2.join();

    return 0;
}
#19
Hola amigos... Este post es a modo de cultura general.

Entiendo a esta altura como funciona la lógica de programar, algoritmos, etcetc... Es relativamente fácil... Sin embargo aun no entiendo como hicieron para crear un lenguaje de programacion a partir de la nada practicamente... 

Acaso Daniel Ritchie ( por nombrar uno) tenía conocimientos profundos de electronica?, como determinaron ellos el curso de un pulso eléctrico que va a la memoria?... Yo he usado protoboards y entiendo cuando la energía eléctrica viaja por los canales y se topa con resistencias y luego encienden un led... Pero eso es extremadamente básico comparado a lo que pienso que se tendría que hacer para generar lo necesario para que la palabra void tuviera un significado...

Lo que me intriga es la cantidad de abstracciones que hay entre una palabra y todos los pulsos eléctricos que hay detrás de ella...

Alguien tiene alguna idea de como funciona esto?

Saludos
#20
Claro eso si.. yo me referia a que pasa si se le corta la luz al usuario final mientras está trabajando con el programa, los datos de la RAM no son problema, los de la BD supongo que si...  seria ponerme demasiado paranoico.