作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我以前使用 python,现在我正在转向使用 c++ 以提高效率。我以前有习惯用一个main函数来测试库文件,只是为了确保所有的函数和类都能正常工作。和
if __name__ == "__main__":
main()
即使我需要为其他代码导入文件,它也能很好地工作。
但是,我不确定如何为 C++ 做同样的事情。我知道在我想包含该文件之前,我可以在库文件中注释掉 main 函数。但我真的很想知道 C++ 中是否有任何等效方法。
最佳答案
首先你不应该用 python 的方式来做,而是写一个小的测试程序来测试你的库。以 Python 方式设计它在 C++ 中并不常见,您不会交到很多新 friend 。
但如果您真的想这样做,您可以将 main 定义为弱符号。
int __attribute__((weak)) main() {
[your code]
}
如果链接器找到非弱符号,它将覆盖任何弱符号。例如,如果您不自己编写,lex/flex 使用该技巧为您提供通用的 main。
正如 StoryTeller 所提到的,它不在标准范围内,也并非在所有平台上都可用。尤其是在 Windows 上。
关于python - 如何为所有函数和类包含一个 cpp 文件但忽略主要函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55932955/
我是一名优秀的程序员,十分优秀!