Ver por etiquetas

Todas las etiquetas » c++ (RSS)
Dicen que a la tercera va la vencida, y esta vez así ha sido. Ahora que me voy a meter más en serio con QT estoy dándole algo más de caña al asunto, y lo primero de todo era aprovechar, de verdad, Visual Studio y su magnífico compilador, que es mejor en al menos un orden de magnitud al de GNU y seguro que en varios al de C++ Builder (que por cierto no creo que sea capaz de compilar QT ni a trompicones). Como sabréis he escrito al menos tres entradas sobre cómo compilar QT con Visual C++, y en las...
con no comments
Archivado en: ,,
Suele ser una pregunta bastante habitual en los pocos foros dedicados a C++ que hay, y vamos a intentar dar aquí una respuesta contundente y razonada de por qué ocurre eso y cómo solucionarlo. La pregunta sobre la ejecución de un programa hecho en C, C++ o C++/CLI en otro equipo (en general en el del cliente final) suele tener algunas variantes en cuanto al texto mostrado, entre las que está: Salta una ventana con “Error 135”. Salta una ventana o aparece...
[There is an English version of this post here ] Si estás usando Codejock ToolkitPro en Visual Studio 2010 te habrás dado cuenta de que no se añaden las rutas por defecto de Codejock en los proyectos de VC porque VS 2010 ha cambiado la forma en la que se controlan las rutas por defecto de C++. En versiones previas estaban incluidas en las opciones del entorno, pero en esta nueva versión se incluyen en cada proyecto, por lo que el instalador de Codejock no puede ponerlas...
con no comments
Archivado en: ,
[Hay una versión de esta entrada en Español aquí ]. If you are using CodeJock ToolkitPro in Visual Studio 2010 you can observe that it does not add the default Codejock paths to the VC projects because VS 2010 has changed the way controls the default C++ paths. In previous versions they were locked into options. In this new version they are in a per project basis. Then Codejock installer cannot put them in the right place and when you try to compile a program you get some errors...
Bartomeu es un chavalote que suele andar por algunos foros y news, tanto respondiendo a la gente como haciendo él mismo preguntas, y el otro día presentó una idea bastante buena en el grupo de desarrollo de las news de Lechado . Muchas veces nos encontramos con el problema de extraer un byte de una variable más larga para realizar diferentes operaciones con él, y muchas veces también nos liamos un poco con tanto hexadecimal y operador lógico… pero dejemos que sea él mismo quien nos lo explique: El...
3 comment(s)
Archivado en:
Esta entrada es continuación de esta otra . Aparte de los compiladores embebidos, cada uno de un fabricante y con sus propias idiosincrasias, mi herramienta principal de desarrollo es una versión Team de Visual Studio con todo instalado (me refiero a los analizadores de código y perfiladores y demás), que uso como IDE para todo aunque luego compile por línea de comandos cuando se trata de sistemas embebidos. A fecha de hoy tengo Visual Studio 2008SP1, que actualizaré...
1 comment(s)
Archivado en:
Esta entrada es continuación de esta otra . Otra cosa que me llama mucho la atención es el comentado del código. Yo no comento, o más bien comento poco o muy poco, generalmente en las cabeceras de las clases y los métodos, y sin embargo cojo código que no he tocado en tres o cuatro años y lo entiendo a la primera, y de hecho, cuando me avisan de algún bug, conforme me van contando lo que pasa, si recuerdo el código, veo no sólo...
Esta entrada es la continuacón directa de esta otra . Esto me lleva a un tema bastante candente y en el que mucha gente hace hincapié: los tests. Ignoro cómo se llama el tipo de test que hice, y realmente me importa bien poco por no decir nada. El que me conozca sabe que no creo en los tests organizados porque son eso, organizados. El comentario que siempre hago es que si te falla un test, ¿qué es lo que está fallando, el código de la rutina a verificar...
Hace poco me preguntaron que contara mis experiencias en mi trabajo con C y C++. Y eso lo hacen no solo aquí, sino que muchas veces me lo preguntan en la Vida Real™, y la verdad es que lo tengo bastante difícil, porque considero que no tengo experiencias con él, y cuando las tengo no puedo (ni debo) hablar de ellas, así que voy a intentar acercarme lo más posible a lo deseado, sabiendo que no voy a poder explicarme bien y que posiblemente levante alguna que...
Supongo que le habrá pasado a más de uno, que está haciendo cosas en el editor de diálogos de Visual C++ y de repente se le va la pinza y deja de funcionar como debe, a veces dando un error que no es un error. Esto normalmente se debe a que hay algo mal en el código fuente que impide al parser actuar debidamente. Quizás hemos añadido una entrada mal en el mapa de mensajes, o en el DDX o simplemente el fichero de recursos esté mal. Pero otras...
Seguro que no es la primera vez que te pasa que te dejan una serie de rutinas (generalmente en formato DLL) que reciben cadenas en formato ANSI y tu aplicación está escrita en Unicode, y cuando preguntas si tienen versión Unicode te responden que no y que no la van a tener… Y como no quiero perder mi empleo, voy a parar aquí. Pues bien, existe una forma muy sencilla de pasar cadenas entre ambos formatos sin tener que liarnos con las funciones de conversión...
4 comment(s)
Archivado en: ,,,
Como podéis ver no se me ha olvidado el tema , simplemente es que he estado demasiado gandulete como para escribir sobre esto, pero una pregunta en el foro web de C++ me ha hecho que me ponga a ello. En teoría esta debería ser la tercera parte en lugar de la segunda, aunque la verdad no es que realmente tenga mucha importancia. Por lo tanto, esta entrada que estás leyendo sigue a esta otra. Aquí voy a contar los tres modos que hay de usar una DLL desde C y C++,...
Hace poco expliqué cómo obtener el número de versión del propio ejecutable desde C++ Builder utilizando la VCL (su biblioteca de clases) y dejé como pendiente el obtenerla desde Win32 o MFC. Como lo he necesitado, he modificado el código y lo presento aquí: TCHAR appName[MAX_PATH]; GetModuleFileName(AfxGetApp()->m_hInstance,appName,MAX_PATH-1); DWORD handle; DWORD size = GetFileVersionInfoSize(appName, &handle); if(size!=0) { TCHAR *buffer = new TCHAR[size + 1]; GetFileVersionInfo(appName...
Ya sabéis qué poco me gusta Linux, pero a veces tiene su interés, o más bien me da por tomármelo sin más. Añadamos que Ubuntu no es que sea de muy de mi agrado y tendremos la perrería más absoluta en investigar sobre todo eso. Pero resulta que sí tengo otra pasión, y es la de los aparatos equipados con pantallas de tinta-e, y la mayoría de ellos –por no decir todos- llevan en sus tripas Linux, y si algún...
Pues eso, que ha salido hace nada la versión 4.6 de QT, con importantes añadidos como el soporte para dispositivos táctiles multitouch, grandes aceleraciones en el renderizado gráfico y soporte para Symbian, o eso es lo que dice, entre otras cosas, la noticia de la salida del mismo. Podemos obtenerlo desde aquí: http://qt.nokia.com/ . Si no queremos soporte para Visual C++, con instalar el paquete está todo listo para funcionar. No obstante, dado que el compilador de Visual C++ es significativamente...
Muchos habréis observado que en las propiedades de un ejecutable o una DLL suelen aparecer, en la pestaña Detalles de las propiedades, una serie de nombres y de datos sobre la versión de dicho fichero. Eso se consigue embebiendo en el ejecutable un recurso de versión, que en Win32 se llama RCVERSION y que consta de una serie de cadenas y valores predefinidos que podemos rellenar a nuestro gusto. En las imágenes de abajo podemos ver un ejemplo añadido a un ejecutable, tanto desde C++ Builder como...
Dado el éxito que están teniendo estas entradas, voy a dar otra vuelta de tuerca al tema y voy a explicar cómo un programador puede trastear con el hardware, cosa que al final, todos los micros terminan haciendo. No voy a hablar de Windows, ni de ningún otro sistema operativo, sino que voy a intentar explicar cómo, a través del código, se accede al hardware, periféricos y demás. Esta entrada es completamente teórica y no me voy...
En la entrada anterior expliqué qué ocurre cuando una aplicación peta y se genera una excepción no controlada (o controlada pero relanzada), y en esta voy a explicar cómo podemos, desde nuestro propio programa, configurar el modo en que eso ocurre. Pero antes una introducción. En algunos lados he dicho que las excepciones son caras. Con eso no me refiero a que cuesten dinero, sino a que es un tipo de característica que resulta muy complicada de procesar...
Esto leyendo la quinta edición de Windows Internals, que cubre Windows Vista y Windows Server 2008 y es la última versión disponible del libro. Allá por los años del Windows 95 y del NT 4.0, un poco antes, un poco después, estaba yo muy interesado en las tripillas de los sistemas operativos, y aparte de empacharme con algún que otro mamotreto genérico sobre el tema, le di caña a los equivalentes, como Windows 95, al descubierto , o el Windows NT de Helen Custer, así como otros de similar temática...
Por fin anoche tuve un rato -y ganas- para instalarme la Beta 2 de Visual Studio 2010 en mi ordenador secundario, y por fin podré contar lo que llevo callándome bastante tiempo por el NDA de ser MVP... porque las novedades de Visual C++ 2010 son muchas y potentes, y seguro que a más de uno le voy a dar una alegría si no lo sabe ya por otras fuentes. Pese a que hay cosas que ya son públicas desde hace mucho tiempo, voy a contarlas todas poco a poco aquí, y lo más seguro es que veáis más entradas mías...
Más artículos < Página anterior - Página siguiente >