| |
Mostrar Temas
|
|
Páginas: [1]
|
|
1
|
Informática / Software / problemas para configurar codeblock con allegro
|
en: 14 Mayo 2025, 01:36 am
|
|
hola la pregunta es esa estoy tratando desde hace rato de configurar codeblock para que pueda compilar programas con allegro pro hasta ahora no logro que lo haga, haga lo que haga termina tirando errores de linkeo he visto tutoriales ya probe con codeblock 20.03 y 25.03 con allegro 5 y con allegro 4.2 como algunos sugieren he copiado los archivos de la carpeta lib de allegro a la carpeta lib de mingw e incluso intente con tdm-gcc copie el contenido de la carpeta include a mingw e incluso a tdm-gcc y los dll de la carpeta bin los copie en mingw windows y windows\system32 nada de nada sigo en ascuas se que es un error de configuracion de codeblock pero no se ya mas que hacer si les paso lo mismo por favor diganme como lo resolvieron o si hay un mejor compilador mas aigable con este asunto de usar allegro bienvenido sea tengo instalado tambien devc++ y vscode pero no los uso, de hecho a vscode voy a tener que desinstalarlo he instalarlo de nuevo porque lo dconfigure mal y no anda asi que estoy aierto a cualquier sugerencia y si es cambiar de compilador ´por favor tambien pasenme el seteo para usar allegro. Muchas gracias
|
|
|
|
|
2
|
Programación / Programación C/C++ / configurar codeblock para compilar allegro
|
en: 13 Mayo 2025, 18:36 pm
|
|
hola la pregunta es esa estoy tratando desde hace rato de configurar codeblock para que pueda compilar programas con allegro pro hasta ahora no logro que lo haga, haga lo que haga termina tirando errores de linkeo he visto tutoriales ya probe con codeblock 20.03 y 25.03 con allegro 5 y con allegro 4.2 como algunos sugieren he copiado los archivos de la carpeta lib de allegro a la carpeta lib de mingw e incluso intente con tdm-gcc copie el contenido de la carpeta include a mingw e incluso a tdm-gcc y los dll de la carpeta bin los copie en mingw windows y windows\system32 nada de nada sigo en ascuas se que es un error de configuracion de codeblock pero no se ya mas que hacer si les paso lo mismo por favor diganme como lo resolvieron o si hay un mejor compilador mas aigable con este asunto de usar allegro bienvenido sea tengo instalado tambien devc++ y vscode pero no los uso, de hecho a vscode voy a tener que desinstalarlo he instalarlo de nuevo porque lo dconfigure mal y no anda asi que estoy aierto a cualquier sugerencia y si es cambiar de compilador ´por favor tambien pasenme el seteo para usar allegro. Muchas gracias
|
|
|
|
|
3
|
Programación / Programación C/C++ / gui con wxwidgets
|
en: 10 Junio 2024, 19:25 pm
|
|
hola estoy tratando de hacer un programa para windows usando codeblocks y wxwidgets, el programa tiene que seleccionar un archivo para luego mostrarlo en hexa pero la parte de la seleccion me esta matando, no de que hacer, si fuera un winapi32 usaria DLGDIRLIST pero necesiat que le pase el HWND de la ventana padre, y en wxwidgets no se como hacerlo, tiene algo parecido pero su prototipo es wxwindow y no se si es compatible, alguien sabe como hacer la seleccion de archivos desde un wxlistbox?
|
|
|
|
|
4
|
Programación / Programación C/C++ / clase array
|
en: 2 Mayo 2024, 17:41 pm
|
|
hola estoy empezando en c++ y tengo una duda que no puedo encontrar en ningun lugar, se que se puede hacer un vector de objetos usando el contenedor stl vector, pero se puede crear un vector de objetos usando el contenedor array? se que array es para longitudes fijas y que a vector se le puede cambiar dinamicamente el tamaño pero hustamante no necesito de esa propiedad ya que el vector que pretendo crear seria de tamaño fijo
|
|
|
|
|
5
|
Programación / Programación C/C++ / ayuda con ncurses
|
en: 29 Agosto 2021, 02:00 am
|
buen dia a todos, estoy haciendo un programa algo tonto con ncurses, un juego, y una de las clases me esta dando problemas, la de manejo de pantalla, tengo 2 problemas que son: 1-cuando se ejecuta la ventana del terminal siempre es muy chica, de alrededor de1/4 a 1/3 del area de la pantalla, en ese momento las zonas que dibujo en pantalla estan bien, pero cuando la maximizo quedan chicas. 2-para realizar un mapa uso 9 sub ventanas llamadas bloques, pero resulta que estas no me toman los atributos de color, lo demas anda. El mas importante seria el primero, necesitaria saber como arrancar ya con la pantalla maximizada por soft, si es que se puede (lei por ahi que si y tambien vi una funciones llamadas resizeterm y resize_term que no se si tendran algo que ver) y adaptar la escala al nuevo tamaño de forma automatica (tambien he podido ver que puedo interceptar el evento de maximizado como una pulsacion con getch()). lo otro seria mas por prolijidad #ifndef PANTALLA_H #define PANTALLA_H #include <ncurses.h>
class Pantalla { private: WINDOW *mapa, *dialogo, *inventario, *bloques[9]; public: Pantalla(); ~Pantalla(); int Mapa(void); int Dialogo(void); int Inventario(void); };
#endif // PANTALLA_H #include "Pantalla.h" #include <ncurses.h> #include <iostream>
Pantalla::Pantalla() { int8_t i; initscr(); start_color(); cbreak(); noecho(); keypad(stdscr,TRUE); init_pair(1,COLOR_RED,COLOR_GREEN); init_pair(2,COLOR_RED,COLOR_WHITE); init_pair(3,COLOR_BLUE,COLOR_YELLOW); init_pair(4,COLOR_BLACK,COLOR_RED); init_pair(5,COLOR_BLACK,COLOR_CYAN); mapa=subwin(stdscr,22,38,1,1);
if(mapa == NULL) { endwin(); std::cout << "imposible crear ventana"; getch(); return; } dialogo=subwin(stdscr,10,38,1,41); if(dialogo == NULL) { delwin(mapa); endwin(); std::cout << "imposible crear ventana"; getch(); return; } inventario=subwin(stdscr,10,38,13,41); if(inventario == NULL) { delwin(mapa); delwin(dialogo); endwin(); std::cout << "imposible crear ventana"; getch(); return; } for(i=0;i<3;i++) { bloques[i]=subwin(mapa,5,7,5,9+(7*i)); bloques[i+3]=subwin(mapa,5,7,10,9+(7*i)); bloques[i+6]=subwin(mapa,5,7,15,9+(7*i)); } for(i=0;i<9;i++) { box(bloques[i],0,0); } attron(COLOR_PAIR(1)); bkgd(COLOR_PAIR(1)); attroff(COLOR_PAIR(1)); wattron(mapa,COLOR_PAIR(2)); wbkgd(mapa,COLOR_PAIR(2)); wattroff(mapa,COLOR_PAIR(2)); wattron(dialogo,COLOR_PAIR(3)); wbkgd(dialogo,COLOR_PAIR(3)); wattroff(dialogo,COLOR_PAIR(3)); wattron(inventario,COLOR_PAIR(4)); wbkgd(inventario,COLOR_PAIR(4)); wattroff(inventario,COLOR_PAIR(4)); box(mapa,0,0); box(dialogo,0,0); box(inventario,0,0); refresh(); getch(); }
Pantalla::~Pantalla() { delwin(mapa); delwin(dialogo); delwin(inventario); endwin(); }
|
|
|
|
|
7
|
Programación / Programación C/C++ / error en tiempo de ejecucion en programa c++
|
en: 8 Agosto 2021, 01:37 am
|
|
hola, tengo este ligero problema con una clase que hize, en esta clase tengo un puntero apuntado a la zona de video en modo texto (0xB8000000h) pero cuando trato de leer o escribir en esa direccion me da un error en tiempo de ejecucion (SEGMENTATION FAULT) y hay unos numeros antes que siempre cambian, que sera lo que pasa, yo probe esto en windows y siempre andubo bien, pero aca falla. Para mas datos estoy usando binicpup 64 bits y el compilador es codelite, y aca esta la clase
#ifndef PANTALLA_H #define PANTALLA_H #include <iostream> class PANTALLA { private: int X,Y; unsigned char *scr;
public: // Constructor PANTALLA() { scr=(unsigned char *)0xb8000000; X=Y=0; clear(); } void clear(void) { for(int i=1;i<2000;i+=2) *(scr+i)=0; // punto en donde falla sin esto corre bien } };
#endif // PANTALLA_H
cualquier ayuda sera muy apreciada, gracias
|
|
|
|
|
8
|
Seguridad Informática / Criptografía / ayuda con un cifrado vernam
|
en: 25 Agosto 2017, 21:10 pm
|
hola estoy tratando de hacer un cifrador vernam para lo que se me ocurrio utilizar la clave como semilla de un generador de numeros pseudo-aleatorios para cifrar el mensaje y hacerla lo suficientemente grande como para eludir al test de kasinsky, pero lei que los generadores que hay no son criptograficamente seguros, asi que improvise uno, pero no se que tan bueno es. Alguien sabra o podra hacerle los test para saber si es bueno o no, o explicarme como hacerlo? el codigo basico del generador (no del cifrador) es este: #include <stdio.h> #include <stdlib.h> #include <string.h>
void main() { char clave[30]; unsigned char *subc; int i,j,n,k,l,m,salto; long numero; unsigned long long semilla; printf("ingrese la clave\n"); gets(clave); n=strlen(clave); subc=malloc(n*n); semilla ^= semilla; l ^= l; for(i=0;i<n;i++) semilla += (long long)clave[i]; semilla <<= 1; semilla++; for(m=0;m<n;m++) { for(i=0;i<n;i++) { for(j=0;j<clave[i];j++) { semilla *= semilla; semilla %= 2147483629; semilla *= 16811; semilla %= 2147483629; } numero = (long) semilla; // printf("%12u %08X\n",numero,numero); salto ^= salto; for(k=7;k>=0;k--) { if(!clave[i]&1<<k) salto++; subc[l] <<=1; if(numero & 1<<(k+23-salto)) subc[l]++; } l++; } } printf("\n"); for(i=0;i<n;i++) { for(j=0;j<n;j++) printf("%4d\n",subc[i*n+j]); //printf("\n"); } for(i=0;i<(n*n-1);i++) subc[i] ^= subc[i+1]; for(i=0;i<(n*n-1);i++) printf("%4d\n",subc[i]);
for(i=0;i<(n*n-2);i++) subc[i] ^= subc[i+1]; for(i=0;i<(n*n-2);i++) printf("%4d\n",subc[i]);
for(i=0;i<(n*n-3);i++) subc[i] ^= subc[i+1]; for(i=0;i<(n*n-3);i++) printf("%4d\n",subc[i]);
free(subc); } esto es lo basico, solo saca por pantalla la secuencia generada.
|
|
|
|
|
9
|
Programación / Programación C/C++ / ayuda con un generador pseudo-aleatorio
|
en: 25 Agosto 2017, 03:58 am
|
hola, estoy tratando da hacer un cifrador tipo vernam pero en lugar de una clave corta, esta la uso como semilla de un generador pseudo-aleatorio que improvise, este usa un generador congruencial lineal multiplicativo como el que usa mathlab pero con valores ligeramente distintos y una forma de seleccion de bits de ese numero para generar el numero final ( 8 bits) luego uso un xor entre los numeros generados para generar otra secuencia n-1 mas chica, mi problema es que no se si los numeros son lo suficientemente aleatorios y fuertes como para ser usados en el cifrado, alguien puede o sabe hacer las pruebas necesarias? #include <stdio.h> #include <stdlib.h> #include <string.h> void main() { char clave[30]=""; unsigned char *subc; int i,j,n,k,l,m,salto; long numero; unsigned long long semilla; semilla ^= semilla; l ^= l; for(i=0;i<n;i++) semilla += (long long)clave[i]; semilla <<= 1; semilla++; for(m=0;m<n;m++) { for(i=0;i<n;i++) { for(j=0;j<clave[i];j++) { semilla *= semilla; semilla %= 2147483629; semilla *= 16811; semilla %= 2147483629; } numero = (long) semilla; // printf("%12u %08X\n",numero,numero); salto ^= salto; for(k=7;k>=0;k--) { if(!clave[i]&1<<k) salto++; subc[l] <<=1; if(numero & 1<<(k+23-salto)) subc[l]++; } l++; } } for(i=0;i<n;i++) { for(j=0;j<n;j++) //printf("\n"); } for(i=0;i<(n*n-1);i++) subc[i] ^= subc[i+1]; for(i=0;i<(n*n-1);i++) for(i=0;i<(n*n-2);i++) subc[i] ^= subc[i+1]; for(i=0;i<(n*n-2);i++) for(i=0;i<(n*n-3);i++) subc[i] ^= subc[i+1]; for(i=0;i<(n*n-3);i++) }
esta es una version algo primitiva pero hace precisamente lo que dije
|
|
|
|
|
|
| |
|