所以,我有一些带有键绑定的 c++ 源代码,例如:
switch( keypressed )
{
case 'c':
cam_handle->Yaw(min_angle );
break;
case 'd':
cam_handle->Yaw( -min_angle );
break;
case 's':
cam_handle->Pitch(min_angle );
break;
case 'x':
cam_handle->Pitch( -min_angle );
break;
case 'z':
cam_handle->Roll( min_angle );
break;
case 'a':
cam_handle->Roll( -min_angle );
我总是忘记愚蠢的键是什么并且必须猜测,它们可能会改变,或者添加新的键等等。有没有一些快速的方法来自动生成帮助或“白痴指南”弹出窗口,说明短 -削减是?如果有人不知道 boost::program_options 但可以回答,这里有一个例子:
int options(int ac, char ** av, Options& opts) {
// Declare the supported options.
po::options_description desc("Allowed options");
desc.add_options()
("help", "Produce help message.")
("width,w", po::value<int>(&opts.frameWidth)->default_value(640),"frame width")
("height,h", po::value<int>(&opts.frameHeight)->default_value(480),"frame height")
("port,p", po::value<string>(&opts.port)->default_value("5001"),"port");
po::variables_map vm;
po::store(po::command_line_parser(ac, av).options(desc).allow_unregistered().run(),vm);
po::notify(vm);
if (vm.count("help")) {
cout << desc << "\n";
return 1;
}
return 0;
}
所以,我不必“RTFC”就知道如何使用可执行文件,我只需要说“./myapp --help”,boost 就可以很好地自动生成帮助等等。键盘快捷键映射是否有类似的东西,其中击键取代了命令行标志的作用?(在 C++ 中。原则上 C 也可以,但我怀疑它是否能像 boost 一样优雅。)