В следующем коде gcc не создает экземпляры объектов NSP :: Admin и NSP :: Server. Он просто пропускает их.Формирование экземпляра объектов с помощью 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();
}
Если я добавлю параметр в CTORS, они создаются. Пример:
NSP::Admin admin(1);
NSP::server server(1);
Я не могу разорвать точку на них с помощью GDB, и шаговый пропускает их. Эти два объекта регистрируются в службе повышения io и вызывают метод в их CTORS.
NSP - это пространство имен проектов.
Использование gcc4.2 на FreeBSD, glog, gflags и boost asio.