Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Qt-MOC生成的代码文档_C++_Qt_Moc - Fatal编程技术网

C++ Qt-MOC生成的代码文档

C++ Qt-MOC生成的代码文档,c++,qt,moc,C++,Qt,Moc,我正在用Qt设计一个用户界面,出于长寿的原因,我不希望在将来的构建中使用Qt元对象编译器。我知道MOC在标准C++代码中解析某些宏,并基于这些代码生成C++代码。p> 我想知道的是:生成的代码的文档在哪里?我想将生成的代码直接写入我的相关类中。虽然现在这样做可能很麻烦,但如果Qt消失,MOC不再存在,它将避免任何问题,从而使UI在长期内更加稳定 谢谢 编辑1: 我在VisualStudio(不是Qt Creator)中设计了一个QT为基础的UI,用于一个不基于Qt框架的C++应用程序。我希望能够

我正在用Qt设计一个用户界面,出于长寿的原因,我不希望在将来的构建中使用Qt元对象编译器。我知道MOC在标准C++代码中解析某些宏,并基于这些代码生成C++代码。p> 我想知道的是:生成的代码的文档在哪里?我想将生成的代码直接写入我的相关类中。虽然现在这样做可能很麻烦,但如果Qt消失,MOC不再存在,它将避免任何问题,从而使UI在长期内更加稳定

谢谢

编辑1: 我在VisualStudio(不是Qt Creator)中设计了一个QT为基础的UI,用于一个不基于Qt框架的C++应用程序。我希望能够将可以构建为纯C++的代码与从打包的特定库链接的QT代码进行分配。我希望能够在未安装Qt的系统上构建此代码。因此,希望避免MOC。我不想冒犯任何Qt粉丝,Qt很棒。然而,我需要一些不同的东西在这个项目上,所以建议“只使用MOC”是没有任何帮助的


编辑2:我是个男人,当我错的时候,我会承认。经过更多的思考和研究,显然不值得尝试我计划做的事情。我只需要保存MOC生成的代码并分发它。谢谢大家

将moc输出逐字输入到代码中会降低代码的可移植性,而不是提高代码的可移植性,因为moc输出格式的更改(当前版本67)比源代码不兼容的Qt主要版本(当前版本5)更频繁。

将moc输出逐字输入到代码中会降低代码的可移植性,而不是提高代码的可移植性,由于moc输出格式的更改(当前版本67)比Qt的源代码不兼容的主要版本(当前版本5)更频繁。

正如这里的每个人都向我指出的那样,总的来说,试图绕过moc似乎不值得。我的解决方案是将MOC生成的源文件保存在源代码管理中,并将其与主要应用程序代码一起打包以供分发。

正如在座的每个人向我指出的那样,总的来说,试图绕过MOC似乎不值得。我的解决方案是将MOC生成的源文件保存在源代码管理中,并将其与主要应用程序代码一起打包以供分发。

MOC
已经存在很长一段时间了,我不知道是否有任何计划将其淘汰。此外,我确信生成的代码被视为一个内部细节,因此可以在不考虑兼容性的情况下对其进行更改。简而言之,我坚信如果你在代码 /COD>抽象下偷偷地使用,你的代码会更加脆弱。我宁愿让我的构建过程不那么复杂,而不用QT预处理步骤,使用纯C++。这必须是可能的,QT生成的代码必须在某处可用..这有点傻。你担心Qt消失,所以你想硬编码moc代码?那么当Qt消失时会发生什么呢?您使用什么来替换Qt运行时间?当下一版本的Qt期望moc代码以一种不同于硬编码文件的方式工作时,会出现哪些令人头痛的问题?您知道代码中的更改通常会波及到moc生成的代码,对吗?在进行更改时,如果没有moc,您将如何生成这些文件?如果这是你未来的思维定势,moc是你最小的问题。我很确定Qt会比你的应用程序更长。不要浪费时间去做一些毫无意义的事情,而不是手工编写大量复杂的样板代码,因为有一个自动化的工具,moc,可以用来编写这些代码。如果您担心无法生成moc’ed文件,为什么不将其置于版本控制中?为了将来代码的维护者,请使用moc。如果您真的担心Qt会消失,请确保将UI代码与系统的其他部分分离。而且,对于非UI系统的其余部分,或许不要依赖Qt框架。但不要试图以某种方式绕过主运行中心。那简直太傻了。P.s.afaik没有MOC及其输出的公开规范。
MOC
已经存在很长时间了,我不知道有什么计划逐步淘汰它。此外,我确信生成的代码被视为一个内部细节,因此可以在不考虑兼容性的情况下对其进行更改。简而言之,我坚信如果你在代码 /COD>抽象下偷偷地使用,你的代码会更加脆弱。我宁愿让我的构建过程不那么复杂,而不用QT预处理步骤,使用纯C++。这必须是可能的,QT生成的代码必须在某处可用..这有点傻。你担心Qt消失,所以你想硬编码moc代码?那么当Qt消失时会发生什么呢?您使用什么来替换Qt运行时间?当下一版本的Qt期望moc代码以一种不同于硬编码文件的方式工作时,会出现哪些令人头痛的问题?您知道代码中的更改通常会波及到moc生成的代码,对吗?在进行更改时,如果没有moc,您将如何生成这些文件?如果这是你未来的思维定势,moc是你最小的问题。我很确定Qt会比你的应用程序更长。不要浪费时间去做一些毫无意义的事情,而不是手工编写大量复杂的样板代码,因为有一个自动化的工具,moc,可以用来编写这些代码。如果您担心无法生成moc’ed文件,为什么不将其置于版本控制中?为了将来代码的维护者,请使用moc。如果您真的担心Qt会消失,请确保将UI代码与系统的其他部分分离。而且,对于非UI系统的其余部分,或许不要依赖Qt框架。但不要试图这样做