在Qt和GTK +等库中进行库初始化时 您必须将主参数传递给初始化库的函数。为什么?图书馆在做什么?
答案 0 :(得分:2)
Qt和GTK +都旨在响应某些命令行标志以方便使用。 (两者都响应各种环境变量。)你不一定 将argv和argc发送到相应的init函数,但它不会受到伤害,特别是如果你想要的话利用这些功能。
以下是GTK + documentation for gtk_init() has的说法:
虽然您需要传递argc,argv参数 main()到这个函数,如果没有argv,可以传递NULL 不需要可用或命令行处理。
argc和argv会相应调整,因此您自己的代码永远不会看到 那些标准论点。
GTK +接受的命令行选项的完整列表is here。
Qt的QApplication同样接受命令行参数并删除它接受的参数。这与QApplication constructor documentation中接受的参数一起记录。