繁体   English   中英

Visual Studio中的std :: experimental :: source_location实现

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM