- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在我的代码中使用了 __FUNCTION__
、__PRETTY_FUNCTION__
宏,我了解到代码需要在 GCC 以外的编译器下编译。这些宏是标准的一部分吗?或 GCC 扩展?我应该改用 __func__
吗?
最佳答案
__FUNCTION__
几乎无处不在,但它只是一个简单的函数名__PRETTY_FUNCTION__
与 GCC 兼容的编译器,如 GCC、Clang 和 Intel 的编译器,甚至与 Sun Studio 12 等编译器一起使用一个。__func__
不是宏__FUNCSIG__
(你可能想要这个)和 __FUNCDNAME__
(不太有用,因为它是完整的修饰名)关于c++ - 在非 GCC 编译器中使用 __FUNCTION__、__PRETTY_FUNCTION__,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42758832/
我看到 __PRETTY_FUNCTION__ 在本站的问题解答中用了很多,我明白这个函数的用处,但为什么叫 __PRETTY_FUNCTION__ 呢?这不是一个丑陋的功能,但也不是很漂亮。 最佳答
我已将此代码用作我的应用程序的 UncaughtExceptionHandler 以捕获一些崩溃信息并将其返回给我: NSArray *callStack = [exception callStack
我在 NetBeans 中有基本的 cpp 文件。当我想使用 "__PRETTY_FUNCTION__" 时,我收到此消息“无法解析标识符 __PRETTY_FUNCTION__”。我该如何解决或者为
请引用这段代码: #include #include constexpr std::size_t strlen(char const* s) { std::size_t n = 0;
在向日志文件报告消息(错误、警告等)时,我目前正在使用 __PRETTY_FUNCTION__。这确保不会混淆哪个函数创建了错误消息。 目前,我想自动从日志文件中获取输出并将其与最初创建它的代码链接起
...../PluginLoader.h:34:“Dummy_Func_For_Generating_FUNCTION_NAME_Macro()”的多重定义 上面的错误是下面代码的输出。我的文件中包含
有没有办法让 __PRETTY_FUNCTION__ 宏只解析为 ObjC 选择器的第一部分? -(void)arg1:(int)a1 arg2:(int)a2 arg3:(int)a3 {
如果我的函数是: void foo(bool bar) { qDebug() << __PRETTY_FUNCTION__; } foo(getBool()); 将输出 "void foo(b
在 Visual Studio 2017(确切地说是 15.5.6)中使用 Visual C++ 时,我注意到 GCC 中的 __PRETTY_FUNCTION__ 似乎可以工作! - 至少在某种程度
我使用 g++ 4.8.1 并使用这两个宏进行调试。但是,__func__ 宏只给我函数名,如果您在不同的类中有许多同名函数,这可能会产生误导。 __PRETTY_FUNCTION__ 宏生成整个函数
我有一个使用宏来跟踪消息的日志库。此宏使用 __func__ 和 __PRETTY_FUNCTION__ 等预定义宏来指示消息记录在哪个函数/方法中。 我的日志库的宏定义在我的日志库的主 header
__PRETTY_FUNCTION__、__FUNCTION__、__func__ 之间有什么区别,它们在哪里记录?我如何决定使用哪一个? 最佳答案 __func__ 是一个隐式声明的标识符,当它在函
我在我的代码中使用了 __FUNCTION__、__PRETTY_FUNCTION__ 宏,我了解到代码需要在 GCC 以外的编译器下编译。这些宏是标准的一部分吗?或 GCC 扩展?我应该改用 __f
我试图在编译时将 __PRETTY_FUNCTION__ 附加到 c 字符串前缀。但它无法编译。而如果我用 __FILE__ 来做,它就不会失败。 const char* s1= "Prefix" _
我正在考虑 this solution减少 __PRETTY_FUNCTION__ 的输出。该解决方案删除了返回类型、参数和修饰符。 我想知道以下修改是否适用于任何情况: inline std::
就像 @interface MyClass : NSObject @end @implementation MyClass + (void)helloWorld { printf("Hello
各种现代 C/C++ 编译器包含一个或两个 __func__/__FUNCTION__ 用于记录当前执行的函数。 MSVC++ 还包括 __FUNCSIG__ 和 GCC __PRETTY_FUNCT
我有这段代码,如果你注释掉注释“但这不起作用?!”的行,它编译得很好,但如果你不这样做,编译器会产生错误。 至少,gcc 8.2 generates an error . 但是,他们看起来和我一模一样
我刚刚注意到 __func__、__FUNCTION__ 和 __PRETTY_FUNCTION__ 不被视为预处理器宏,并且在16.8 预定义宏名称 标准 (N4527 Working Draft)
在 Objective C 中,您可以记录正在调用的方法: NSLog(@"%s", __PRETTY_FUNCTION__) 通常这是从日志记录宏中使用的。 尽管 Swift 不支持宏(我认为),但
我是一名优秀的程序员,十分优秀!