递归火山软件开发平台

标题: @飞扬工作室 好好的火山被你折腾成什么样了。 [打印本页]

作者: server    时间: 前天 20:16
标题: @飞扬工作室 好好的火山被你折腾成什么样了。
本帖最后由 server 于 2025-8-21 20:32 编辑


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

  2. 方法 置引用变量指针 <公开 静态 @嵌入式方法 = "">
  3. 参数 变量 <@匹配类型 = 通用型>
  4. 参数 指针 <类型 = 变整数>
  5. {
  6.     @ @pdt<变量>& @<变量>=*(@pdt<变量>*)@<指针>;
  7. }
复制代码


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

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

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

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

作者: server    时间: 前天 20:55
同志们,不管你信不信
整数类等基础数据类,全是受到JAVA传染的衍生。

这不合理。
作者: a524666979    时间: 前天 22:01
也不是一天两天了
作者: 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){
            return  tObject.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 ){
            return  tObject.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[0] = b[0] + (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++




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