递归火山软件开发平台

标题: 请问如何取出程序自身输出名? [打印本页]

作者: 1105110683    时间: 2024-1-24 12:28
标题: 请问如何取出程序自身输出名?
本帖最后由 1105110683 于 2024-1-24 12:29 编辑

[attach]25506[/attach]

<火山程序 类型 = "通常" 版本 = 1 />

方法 我的输出方法1 <公开 静态 注释 = "一个输出方法模板" @输出名 = "my_method1" @视窗.输出 = 真>
{
    // 请在其中填入自己的方法内容

}



比如我想取出自身程序这个输出名,请问怎么写?
作者: a759077146    时间: 2024-1-24 14:21
取执行文件名 ()
作者: Xelloss0618    时间: 2024-1-24 14:23
<火山程序 类型 = "通常" 版本 = 1 />

方法 取方法名 <公开 静态 类型 = 文本型 @嵌入式方法 = "">
{
    @ @an<CVolString>(__func__)
}

作者: 1105110683    时间: 2024-1-24 16:07
Xelloss0618 发表于 2024-1-24 14:23
方法 取方法名
{
    @ @an(__func__)

谢谢大佬,自己折腾了几个小时无果,还得是你厉害
作者: 呵呵仙8    时间: 2024-1-24 22:30
Xelloss0618 发表于 2024-1-24 14:23
方法 取方法名
{
    @ @an(__func__)

(, 下载次数: 10)
牛b啊!编译为EXE还有效!!

作者: 呵呵仙8    时间: 2024-1-24 22:41
Xelloss0618 发表于 2024-1-24 14:23
方法 取方法名
{
    @ @an(__func__)

那么,会不会还有什么取包名()?取类名()?取变量名()?之类的?
作者: Xelloss0618    时间: 2024-1-25 00:50
呵呵仙8 发表于 2024-1-24 22:41
那么,会不会还有什么取包名()?取类名()?取变量名()?之类的?

火山PC的包名是命名空间,好像是不能取,其他可以

<火山程序 类型 = "通常" 版本 = 1 />

类 源码信息 <公开 折叠 @全局类 = 真>
{

    # @begin
    # <> <include>
    # #define VolOutputName(x) L#x
    # <> </include>
    # @end

    方法 取当前方法名 <公开 静态 类型 = 文本型 注释 = "返回当前方法的输出名(火山翻译到C++源码后的名称)" 折叠 @嵌入式方法 = "">
    {
        @ @an<CVolString>(__func__)
    }

    方法 取静态方法名 <公开 静态 类型 = 文本型 注释 = "返回指定静态方法的输出名(火山翻译到C++源码后的名称)" 注释 = "注: 由于不能匹配任意参数类型的动态方法,就不写动态的版本了." 折叠
            @嵌入式方法 = "">
    参数 静态方法 <注释 = "可提供任意参数类型的静态方法" @匹配方法 = "">
    {
        @ @an<CVolString>(VolOutputName(@<静态方法>))
    }

    方法 取变量输出名 <公开 静态 类型 = 文本型 注释 = "返回指定变量的输出名(火山翻译到C++源码后的名称)" 折叠 @嵌入式方法 = "">
    参数 变量 <@匹配类型 = 通用型 @需求类型 = 可写入变量>
    {
        @ @an<CVolString>(VolOutputName(@<变量>))
    }

    方法 取类型输出名 <公开 静态 类型 = 文本型 注释 = "返回指定数据类型的输出名(火山翻译到C++源码后的名称)" 折叠 @嵌入式方法 = "">
    参数 数据类型 <注释 = "所欲取类型名称的变量" @匹配类型 = 通用型 @需求类型 = 数据类型>
    {
        @ @an<CVolString>(VolOutputName(@<数据类型>))
    }

    方法 取变量类型名称 <公开 静态 类型 = 文本型 注释 = "返回指定变量的C++类型名称."
            注释 = "注意: 返回类型的最底层名称,比如长整数返回\"__int64\",而不是火山定义的\"INT64\"." 折叠 @视窗.外部头文件 = "<typeinfo>" @嵌入式方法 = "">
    参数 变量 <注释 = "所欲取类型名称的变量" @匹配类型 = 通用型 @需求类型 = 可写入变量>
    {
        @ @an<CVolString>(typeid(@<变量>).name())
    }
}





欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4