在以下代码中,gcc不实例化NSP :: Admin和NSP :: Server对象.它只是跳过它们.
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();
}
Run Code Online (Sandbox Code Playgroud)
如果我向CTORS添加一个参数,它们就会被实例化.示例:
NSP::Admin admin(1);
NSP::server server(1);
Run Code Online (Sandbox Code Playgroud)
我不能用gdb打破它们,并且跳过它们.这两个对象使用boost io服务注册自己,并在其CTORS中调用方法.
NSP是项目命名空间.
在FreeBSD,glog,gflags和boost asio上使用gcc4.2.