server 发表于 前天 20:16

@飞扬工作室 好好的火山被你折腾成什么样了。

本帖最后由 server 于 2025-8-21 20:32 编辑


PC实现变量引用指针替代读指针处对象 - 火山平台俱乐部 - 递归火山软件开发平台 - Powered by Discuz!
<火山程序 类型 = "通常" 版本 = 1 />

方法 置引用变量指针 <公开 静态 @嵌入式方法 = "">
参数 变量 <@匹配类型 = 通用型>
参数 指针 <类型 = 变整数>
{
    @ @pdt<变量>& @<变量>=*(@pdt<变量>*)@<指针>;
}


这个顶级的优点为了让C++迎合Java 阉割了。
不心疼吗?

------------------------------------------------------------------------------------------
同志们,不管你们信不信,实时上火山难度在C++之上(封库人员)。
即你是个全能的C++程序员之外,任然要学习各种火山的附加属性。
这就是给火山套枷锁。属性越多,枷锁越重。

适时的取消一些限制,减少一些属性。
逐步让火山回归本职工作,老老实实当翻译。

只有封过库的人才知道@嵌入式方法 到底有多香。

server 发表于 前天 20:55

同志们,不管你信不信
整数类等基础数据类,全是受到JAVA传染的衍生。

这不合理。

a524666979 发表于 前天 22:01

;P;P;P也不是一天两天了

zz0147 发表于 昨天 11:09

下面是某**编程语言处理C#源码时的例子,对比现在火山,他的方法确实方便很多。


//运行时编译C#
import console;
console.open()

import dotNet;

//创建应用程序域(无参数创建唯一实例,不必手动释放)
var appDomain = dotNet.appDomain();

//创建C#语言编译器
var compiler = appDomain.createCompiler("C#");
compiler.Reference("System.dll")

//设置待编译C#源码
compiler.Source = /******
using System;
using System.Reflection;
using System.Collections;

namespace CSharpLibrary
{
    public class AardioTable
    {
      private object tObject;
      public AardioTable(object obj){
            tObject = obj;
      }
      public object GetProperty(string k){
            returntObject.GetType().InvokeMember(k, BindingFlags.GetProperty, null, tObject, null);
      }
      public void SetProperty(string k,object v){
            tObject.GetType().InvokeMember(k, BindingFlags.SetProperty, null, tObject, new object[] { v });
      }
      public object InvokeMember(string k,params/*不定个数参数*/ object[] arg ){
            returntObject.GetType().InvokeMember(k, BindingFlags.InvokeMethod, null, tObject, arg );
      }
    }
   
    public class CSharpObject
    {   
      public object Hello( object comObject ){   
      
            AardioTable tab = new AardioTable( comObject );
         
            tab.SetProperty( "属性名",456 ) ;
            
            tab.InvokeMember( "执行aardio"," console.log('在C#中执行aardio代码') "   );
            
            IEnumerator enumerator = (comObject as IEnumerable).GetEnumerator();
            while (enumerator.MoveNext())
            {
                Console.WriteLine( "C#中遍历aardio对象键名:" + enumerator.Current );
            }
            
            return tab.GetProperty("属性名");
      }
      
      public int [] Test(double a, int [] b){   
      
            b = b + (int)a;
            
            return b;
      }
    }   
}
******/

//编译并返回程序集
var assembly = compiler.Compile()
console.log(compiler.getLastError())

//调用程序集创建类对象
var cSharpObject = assembly.new("CSharpLibrary.CSharpObject")

//调用实时编译的C#函数
var ret = cSharpObject.Hello( {
    属性名 = 123;
    执行aardio = function( code ){
      loadcode(code)();
    }
} );

yb1984724 发表于 昨天 14:22

分开弄呗,安卓的JAVA,PC的C++
页: [1]
查看完整版本: @飞扬工作室 好好的火山被你折腾成什么样了。