我以前使用python,现在我转向c ++以提高效率。我曾经习惯用main函数测试库文件,只是为了确保所有函数和类都正常工作。和
if __name__ == "__main__":
main()
即使我需要导入其他代码的文件,工作也很好。
但是,我不知道如何才能为c ++做同样的事情。我知道在我想要包含该文件之前,我可以在库文件中注释掉main函数。但我真的想知道C ++中是否存在任何等效方法。
首先,您不应该以python方式执行此操作,而是编写一个小测试程序来测试您的库。为了设计它,python方式在C ++中并不常见,你不会让许多新朋友这样做。
但是如果你真的想这样做,你可以将main定义为弱符号。
int __attribute__((weak)) main() {
[your code]
}
如果找到非弱符号,链接器将覆盖任何弱符号。例如,如果你不编写自己的技巧,lex / flex会使用这个技巧来为你提供一个通用的主要技巧。
正如StoryTeller所说,它不符合标准,并不适用于所有平台。尤其不适用于Windows。
• Typescript 忽略 setState 函数返回类型的额外属性
• 如何在 C++ 中将带有模板变量的类拆分为 .h 和 .cpp 文件?
• 如何使用 Python 从多个文本文件中将文本提取到 CSV 文件中?
• PHP - 如何有效地识别和计算非常大的 XML 的父元素
• 为什么 RuboCop 不忽略 Rails 中的文件“schema.rb”?
• 如何使用包含类名的变量和包含函数名的变量调用类的静态函数? [重复]
• 如何在没有分段错误的情况下在 Ubuntu 中将我的函数作为命令行调用?
• 如何在 python docstring 中指定不同的返回类型
• 我的代码连main函数都没有执行,我该怎么做才能让我的代码一路运行?
• std::pair from temporary:为什么调用复制构造函数而不是移动构造函数?
• 为什么我不能在 Firebase 函数中访问我的 req.body 属性,而 req.body 确实包含这些属性?