草庐IT

bond_main

全部标签

c++ - gtest.lib 和 gtest_main.lib 有什么区别?

Google的C++测试框架有两个输出库:一个是gtest.lib,另一个是gtest_main.lib。根据NikReiman'sanswer在howtosetupgtestwithVisualStudio,我们应该链接到gtest_main.lib但我链接到gtest.lib并且我拥有的示例测试用例运行良好。这两个库有什么区别,我链接到哪个库有关系吗? 最佳答案 唯一合理的区别是gtest_main.lib提供了测试应用程序入口点的默认实现(即main函数):来自GettingstartedwithGoogleC++Testin

c++ - gtest.lib 和 gtest_main.lib 有什么区别?

Google的C++测试框架有两个输出库:一个是gtest.lib,另一个是gtest_main.lib。根据NikReiman'sanswer在howtosetupgtestwithVisualStudio,我们应该链接到gtest_main.lib但我链接到gtest.lib并且我拥有的示例测试用例运行良好。这两个库有什么区别,我链接到哪个库有关系吗? 最佳答案 唯一合理的区别是gtest_main.lib提供了测试应用程序入口点的默认实现(即main函数):来自GettingstartedwithGoogleC++Testin

c++ - 自动返回类型扣除是否适用于 main?

我能否在C++1y(C++14)中对main函数执行以下操作:automain(){//...}即使我们不需要使用显式的return0;,返回类型是否会自动为int? 最佳答案 不,不允许。C++14标准草案N3690第7.1.6.4/10段规定:Ifafunctionwithadeclaredreturntypethatusesaplaceholdertypehasnoreturnstatements,thereturntypeisdeducedasthoughfromareturnstatementwithnooperandat

c++ - 自动返回类型扣除是否适用于 main?

我能否在C++1y(C++14)中对main函数执行以下操作:automain(){//...}即使我们不需要使用显式的return0;,返回类型是否会自动为int? 最佳答案 不,不允许。C++14标准草案N3690第7.1.6.4/10段规定:Ifafunctionwithadeclaredreturntypethatusesaplaceholdertypehasnoreturnstatements,thereturntypeisdeducedasthoughfromareturnstatementwithnooperandat

c++ - LNK2019:函数 ___tmainCRTStartup 中引用的未解析外部符号 _main

我有以下错误:LNK2019:unresolvedexternalsymbol_mainreferencedinfunction___tmainCRTStartup有很多与此错误相关的线程,但这些解决方案都不适用于我。而且,没有人解释为什么会出现这个错误。我试过了:wWinMainCRTStartup作为链接器属性中的入口点(thread)将链接器设置为“Windows”(与上述线程相同)右键单击解决方案名称->添加->现有项目->带有主文件的文件(与上面相同的线程)#include(errorLNK2019:unresolvedexternalsymbol_mainreference

c++ - LNK2019:函数 ___tmainCRTStartup 中引用的未解析外部符号 _main

我有以下错误:LNK2019:unresolvedexternalsymbol_mainreferencedinfunction___tmainCRTStartup有很多与此错误相关的线程,但这些解决方案都不适用于我。而且,没有人解释为什么会出现这个错误。我试过了:wWinMainCRTStartup作为链接器属性中的入口点(thread)将链接器设置为“Windows”(与上述线程相同)右键单击解决方案名称->添加->现有项目->带有主文件的文件(与上面相同的线程)#include(errorLNK2019:unresolvedexternalsymbol_mainreference

c++ - 你真的需要 C++ 中的 main() 吗?

据我所知,您可以在创建全局对象时启动构造函数中的所有操作。那么你真的需要C++中的main()函数还是它只是遗留的?我可以理解,这样做可能被视为不好的做法。我只是出于好奇而问。 最佳答案 如果您想在托管的C++实现上运行您的程序,您需要一个main功能。事情就是这样定义的。当然,如果您愿意,您可以将其留空。在技​​术方面,链接器想要解决main运行时库中使用的符号(它不知道您有什么特殊意图要省略它-它仍然会发出对它的调用)。如果标准规定main是可选的,那么实现当然可以提出解决方案,但这需要在平行宇宙中发生。如果您选择“在我的全局对

c++ - 你真的需要 C++ 中的 main() 吗?

据我所知,您可以在创建全局对象时启动构造函数中的所有操作。那么你真的需要C++中的main()函数还是它只是遗留的?我可以理解,这样做可能被视为不好的做法。我只是出于好奇而问。 最佳答案 如果您想在托管的C++实现上运行您的程序,您需要一个main功能。事情就是这样定义的。当然,如果您愿意,您可以将其留空。在技​​术方面,链接器想要解决main运行时库中使用的符号(它不知道您有什么特殊意图要省略它-它仍然会发出对它的调用)。如果标准规定main是可选的,那么实现当然可以提出解决方案,但这需要在平行宇宙中发生。如果您选择“在我的全局对

c++ - 为什么main的返回类型不能推导出来?

正如预期的那样,以下在C++11中失败了,因为该语言没有bog标准函数的返回类型推导:automain(){return0;}但是,C++14可以,所以我无法解释以下错误(在GCC主干、clang3.8和VisualStudio2015中具有相同的结果):error:'main'mustreturn'int'标准中是否有一段我没有看到,禁止main的返回类型扣除?还是两个编译器都不兼容?(对于它的值(value),我永远不会真正这样做。intmain()为胜利......) 最佳答案 阅读theC++17draft§3.6.1/2:

c++ - 为什么main的返回类型不能推导出来?

正如预期的那样,以下在C++11中失败了,因为该语言没有bog标准函数的返回类型推导:automain(){return0;}但是,C++14可以,所以我无法解释以下错误(在GCC主干、clang3.8和VisualStudio2015中具有相同的结果):error:'main'mustreturn'int'标准中是否有一段我没有看到,禁止main的返回类型扣除?还是两个编译器都不兼容?(对于它的值(value),我永远不会真正这样做。intmain()为胜利......) 最佳答案 阅读theC++17draft§3.6.1/2: