Dans le code suivant, gcc n'instancie pas les objets NSP :: Admin et NSP :: Server. Il les saute juste.Force l'instanciation des objets avec gcc
int main(int argc, char **argv)
{
// Here we bootstrap google logging
// we also install the signal handler
google::InitGoogleLogging(argv[0]);
google::InstallFailureSignalHandler();
// now we parse the arguments with gflags
google::ParseCommandLineFlags(&argc, &argv, true);
NSP::Admin admin();
NSP::server server();
DLOG(INFO) << "boost io_service run";
NSP::IOService::getIOService().run();
}
Si j'ajoute un paramètre au CTORS, il est instancié. Exemple:
NSP::Admin admin(1);
NSP::server server(1);
Je ne peux pas briser le point sur eux avec gdb, et pas à pas les sauts. Ces deux objets s'inscrivent au service boost io et appellent une méthode dans leur CTORS.
NSP est l'espace de noms du projet. Utilisation de gcc4.2 sur FreeBSD, glog, gflags et boost asio.