【发布时间】:2016-11-11 22:00:31
【问题描述】:
要使用 Google 测试框架,应该(?)使用 main 函数:
GTEST_API_ int main(int argc, char **argv) {
testing::InitGoogleTest(&argc, argv);
[...]
return RUN_ALL_TESTS();
}
GTEST_API_ 是什么?
在文件 gtest-port.h 中我可以看到如下内容:
# if GTEST_LINKED_AS_SHARED_LIBRARY
# define GTEST_API_ __declspec(dllimport)
# elif GTEST_CREATE_SHARED_LIBRARY
# define GTEST_API_ __declspec(dllexport)
# endif
#elif __GNUC__ >= 4 || defined(__clang__)
# define GTEST_API_ __attribute__((visibility ("default")))
#endif // _MSC_VER
#ifndef GTEST_API_
# define GTEST_API_
#endif
这里是__declspec的一些描述:
https://msdn.microsoft.com/en-us/library/dabb5z75.aspx
__declspec Visual Studio 2015 其他版本 Microsoft 特定
用于指定存储类信息的扩展属性语法 使用 __declspec 关键字,它指定一个 给定类型将与 Microsoft 特定的存储类一起存储 下面列出的属性。其他存储类修饰符的示例 包括 static 和 extern 关键字。但是,这些关键字是 C 和 C++ 语言的 ANSI 规范的一部分,因此 不包含在扩展属性语法中。扩展属性 语法简化和标准化 Microsoft 特定的扩展,以 C 和 C++ 语言。
我不明白。
这里我有一个C++函数的描述:
http://www.cplusplus.com/doc/tutorial/functions/
类型名称(参数1,参数2,...){语句}
在哪里: - type 是函数返回值的类型。 [...]
GTEST_API_ 对返回的 int 有什么改变吗?
【问题讨论】:
标签: c++ googletest