Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: NotHaveOne en 19 Febrero 2018, 16:47 pm



Título: Singleton, pero sin clases.
Publicado por: NotHaveOne en 19 Febrero 2018, 16:47 pm
Hola, soy nueva en C++ y la programación.
Estoy haciendo un programa donde solo uso registros, a través de structs, y quiero que el programa no se ejecute si ya hay uno en ejecución (no quiero que puedan abrirse 2 o más veces en simultáneo).
Si fuera un programa con clases, o al menos una, vi que podía usar la clase Singleton. Pero en mi caso, cómo debo hacer?
Son bienvenidas sugerencias, libros y webs que traten el tema.
Gracias.


Título: Re: Singleton, pero sin clases.
Publicado por: MAFUS en 19 Febrero 2018, 17:43 pm
Usa un struct anónimo así:
Código
  1. struct {
  2.    // Datos del struct
  3. } mi_dato_unico;

De esta forma solo existirá esa única variable de ese tipo de estructura y no se podrán generar más al no darse un nombre a ese tipo de dato. Si bien en la zona de definición de variables pueden generarse tantas como se deseen, pero solo en ese momento.

Lo siento, comparto, creo que te entendí mal en un principio. Supongo que trabajas con Windows. Aquí tienes una buena página, solo deberás adaptarla un poco.
De igual forma trabaja con clases, así que no será leído que buscas, supongo.
https://support.microsoft.com/es-es/help/307395/how-to-use-visual-c-to-close-another-application


Título: Re: Singleton, pero sin clases.
Publicado por: NotHaveOne en 20 Febrero 2018, 23:29 pm
Muchas gracias por tu respuesta.
No lo pude hacer de esa forma porque mis structs tienen funciones, o entendí que el compilador se quejaba por ese motivo.
De todas formas encontré una manera (tal vez atada con alambre) que por el momento me va a servir.
La próxima voy a intentar implementar tu consejo.
Saludos cordiales.