jueves, agosto 27, 2009
Regional Latinoamericana de la Competencia de Programación ACM- IBM
Accenture auspicia la competencia en la sede Argentina
http://www.dc.uba.ar/icpc
La Regional Latinoamericana de la Competencia Internacional de Programacion de la ACM (34th ACM International Collegiate Programming Contest sponsoreada por IBM) se llevará a cabo el sabado 24 de octubre de 2009 simultáneamente en Chile, Colombia,Venezuela, Peru, Brasil y Argentina, Bolivia, México y Cuba.
Los primeros equipos de la Regional pasarán a la Final Mundial que se realizará en febrero de 2010 en Harbin, China.
El Departamento de Computación de la Facultad de Ciencias Exactas y Naturales de la Universidad de Buenos Aires será una de las sedes de la Regional Sudamérica/Sur. La competencia en la sede Argentina está auspiciada además por Accenture.
Ver más detalles en el aviso adjunto o en:
http://icpc.baylor.edu/icpc
http://www.dc.uba.ar/icpc
viernes, agosto 14, 2009
gcc: undefined reference to vtable for
Estuve obteniendo el siguiente error:
Networking.cpp:193: undefined reference to `vtable for Client'
Es mensaje de error es bastante oscuro, pero la solución es muy simple: en caso de usar clases con funciones
virtual
, gcc
exige que éstas funciones sean implementadas en un archivo .cpp
:Si tenemos el siguiente
Client.h
:class Client {
public:
Client() {
// ...
}
virtual ~Client() {
// ...
}
virtual void foo() {
// ...
}
}
Tendremos que dividirlo en dos. En
Client.h
habrá que tener:class Client {
public:
Client() {
// ...
}
virtual ~Client();
virtual void foo();
}
Y en
Client.cpp
:Client::~Client() {
// ...
}
void Client::foo() {
// ...
}
Para más información lerr la FAQ de gcc sobre vtables.
miércoles, agosto 12, 2009
Mercurial y Git: Múltiples repositorios en SourceForge
Mañana en SourceForge van a implementar el soporte de múltiples repositorios para Git y Mercurial.
El link habla únicamente de Mercurial, pero llegó un mail desde SF.Net diciendo que el soporte de múltiples repositorios será también para Git.
Tanto Git como Mercurial son sistemas de control de revisiones distribuidas que permiten mantener a todo momento el historial de cambios en forma local. Esto es algo muy útil cuando se desea acceder a la historia de un proyecto rápidamente.
Una razón más para hostear proyectos Open Source en SourceForge!
lunes, agosto 10, 2009
martes, agosto 04, 2009
Compiling Python C extensions using gcc
Just a quick reminder. To manually compile a Python C extension on Linux using gcc and without distutils the magic command is:
gcc --shared -fPIC $(python-config --cflags) $(python-config --ldflags) base85.c -o base85.so
Then, to test the new extension:
$ PYTHONPATH=. python
Python 2.5.2 (r252:60911, Jan 4 2009, 21:59:32)
[GCC 4.3.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import base85
>>> base85
<module 'base85' from 'base85.so'>
Suscribirse a:
Entradas (Atom)