[英]std::experimental::source_location implementation in visual studio
可以使用__builtin_FILE()
,__ __builtin_LINE()
等在gcc中实现std::experimental::source_location
的合理合规版本std::experimental::source_location
Studio 2017中是否存在类似的内在函数? 还是有什么方法可以在Visual Studio 2017中实现std::experimental::source_location
?
不幸的是,目前没有办法仅通过编译器正确实现source_location,因此您必须使用预处理器和__FILE__
, __FUNCTION__
__LINE__
和__FUNCTION__
类的宏将位置信息馈入存储它们的数据结构中(调用source_location)。
话虽如此,我的确与你分享痛苦。
我最近正在开发一个小型库,该库将位置数据和一些其他信息添加到引发的异常中,在那里,我不得不以一个丑陋的宏结束,例如MY_THROW(Exception(args))
,该宏基本上只提供从中获取的值将上述宏放入引发异常的函数中。 尽管看起来很可怕,但到目前为止,它似乎是唯一可行的选择。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.