标签: code-generation

Simulink 中的循环缓冲区

我想在纯 Simulink 模型中实现一个非常巨大的(10^6 个元素 - 固定大小)循环缓冲区(没有进一步的工具箱,没有 S-Function)。

在某些时候,我需要读取一些元素(任何地方,而不仅仅是开始或结束)。

我无法使用以下解决方案:

  1. “队列块”或“缓冲区块”(我没有可用的信号处理工具箱)
  2. “离散延迟”(我需要一个巨大的缓冲区,并且不会在模型中放置 10^6 的延迟)
  3. “Sim Events”(我需要从这个模型生成代码)

我还没有尝试过“S-Function”,我正在寻找替代解决方案。

您还知道什么进一步的方法?

code-generation simulink

2
推荐指数
1
解决办法
8177
查看次数

使用javapoet构建带有开放参数列表的方法

javapoet 是否可以创建一个带有开放参数列表的方法?创建带有 String[] 参数的方法是没有问题的:

curEnumBuilder.addMethod(MethodSpec.methodBuilder("myMethod")
                .addParameter(String[].class, "params", Modifier.FINAL)
                .addModifiers(Modifier.PUBLIC)
                .returns(String.class)
                .build());
Run Code Online (Sandbox Code Playgroud)

但我想创建:

public String myMethod(final String... params)
Run Code Online (Sandbox Code Playgroud)

code-generation javapoet parameter-list

2
推荐指数
1
解决办法
881
查看次数

用动态生成的类替换反射调用

我有一个类似的界面:

public interface Getter {
    Object get(Params params);
}
Run Code Online (Sandbox Code Playgroud)

我使用对不同方法的反射调用来实现:

public class GetterImpl implements Getter {

    private final Object target;
    private final Method method; //doStuff method

    public GetterImpl(Object target, Method method) {
        this.target = target;
        this.method = method;
    }

    @Override
    public Object get(Params params) {
        //both the target and arguments depend on Params
        return method.invoke(chooseTarget(params), prepareArgs(params));
    }

    private Object chooseTarget(Params params) {
        if (params.getTargetOverride() != null) {
            return params.getTargetOverride();
        }
        return target;
    }

    private Object[] prepareArgs(Params params) {
        ...
    } …
Run Code Online (Sandbox Code Playgroud)

java code-generation bytecode java-bytecode-asm byte-buddy

2
推荐指数
1
解决办法
275
查看次数

是否可以根据要比较的数据生成相等函数?

如果两个布尔值相同,则两个布尔值相等,两个数字相似。如果两个集合具有相同的元素,则它们相等。如果检查两组是否相等,我们可以使用以下方案/球拍函数:

\n\n
(define (same-set? l1 l2)\n  (and (subset? l1 l2) (subset? l2 l1)))\n
Run Code Online (Sandbox Code Playgroud)\n\n

那么这样的函数是如何自动生成的呢?可以为任意数据类型生成它吗?

\n\n

等价关系的基本性质是:

\n\n

替换性质:对于任意数量a和b以及任意表达式F(x),如果a = b,则F(a) = F(b)(如果两边都有意义,即格式良好)。\n一些具体例子其中:

\n\n

对于任何实数a、b和c,如果a = b,则a + c = b + c(这里F(x)是x + c);

\n\n

对于任何实数 a、b 和 c,如果 a = b,则 a \xe2\x88\x92 c = b \xe2\x88\x92 c (这里 F(x) 是 x \xe2\x88\x92 c) ;

\n\n

对于任何实数a、b和c,如果a = b,则ac = bc(这里F(x)是xc);

\n\n

对于任何实数 a、b 和 c,如果 a = b 且 c 不为零,则 a/c = b/c(此处 F(x) 为 x/c)。 …

scheme code-generation equality equals racket

2
推荐指数
1
解决办法
250
查看次数

源生成器:有关引用项目的信息?

我开始使用 C# 源生成器。

我想要的是启动一个git describe --tags --long进程并GitVersion使用当前标签和哈希代码作为属性填充静态类。

问题是,我没有关于引用项目的目录的信息,所以我不知道在哪里运行 git 进程。GeneratorExecutionContext我在函数的参数中找不到任何有用的信息Execute

AppDomain.CurrentDomain指向 csc.exe 进程,所以我想没有办法知道它在那里?

c# code-generation sourcegenerators

2
推荐指数
1
解决办法
1978
查看次数

Flutter 国际化,国际代码生成不起作用

我使用Android Studio创建了一个新的Flutter 项目。我正在使用空安全,并且正在物理设备上运行应用程序,但代码生成不起作用, .dart_tool文件夹中没有flutter_gen文件夹,只有flutter_build文件夹。

\n

我按照Flutter 官方国际化文档中的步骤操作

\n

我没有使用Flutter Intl插件,因为它不支持空安全(我知道你可以制作一个脚本在每个生成的文件的顶部添加旧的 dart 版本作为解决方法)

\n

flutter doctor 命令输出:

\n
[\xe2\x9c\x93] Flutter (Channel beta, 1.26.0-17.5.pre, on Microsoft Windows [Versi\xc3\x83\xc2\xb3n 10.0.19042.804], locale es-ES)\n    \xe2\x80\xa2 Flutter version 1.26.0-17.5.pre at <PATH>\n    \xe2\x80\xa2 Framework revision 1fe38dcb5f (3 days ago), 2021-02-10 16:25:47 -0800\n    \xe2\x80\xa2 Engine revision d4453f6018\n    \xe2\x80\xa2 Dart version 2.12.0 (build 2.12.0-259.9.beta)\n\n[\xe2\x9c\x93] Android toolchain - develop for Android devices (Android SDK …
Run Code Online (Sandbox Code Playgroud)

code-generation android-studio flutter dart-null-safety

2
推荐指数
1
解决办法
1万
查看次数

针对C++和C#的代码生成工具

我有一组使用C#和C++组合构建的应用程序.我们在两种语言之间有一组共享对象,而不是在每种语言中单独定义每个语言,我宁愿使用代码生成工具.理想情况下,这样的工具将是FOSS,尽管这不是绝对的要求.尽管存在来自基类的继承,接口的实现,其他对象类型的包含以及其他对象类型的集合,但对象本身相对简单.

C++目标环境是Visual C++ 2008.

有没有人对可以处理这种任务的工具有任何建议?

示例代码:

public class Tax 
{ 
private static Dictionary<string, double> _TaxRates; 
public Dictionary<string,double> TaxRates { get { return _TaxRates; } }
}
Run Code Online (Sandbox Code Playgroud)

c# c++ code-generation

1
推荐指数
1
解决办法
2819
查看次数

如何从内存中的数组生成数组字符串(php)

我需要在我的代码中创建一个大数组,我在几个表中有值(为了便于管理).我选择它,现在我将所有值都放在数组中,在内存中以我想要的方式.我的问题,我需要将这个数组写入代码中.有没有办法获取一个位于内存中的数组并将其转换为字符串"array('g'=>'h','b'=>'d'....)"然后我可以回显并只是复制粘贴到我的代码?

php arrays code-generation shortcut

1
推荐指数
1
解决办法
72
查看次数

当它不自动执行时,如何强制Eclipse提示您创建一个getter和setter?

我在我的Java类中添加了两个私有字段.

Eclipse促使我自动为其中一个创建一个getter和setter.

如何让它忘记它的另一个呢?

java eclipse code-generation

1
推荐指数
1
解决办法
684
查看次数

从String生成唯一的整数ID



我需要为字符串生成唯一的整数id.

原因:
我有一个可以在不同数据库上运行的数据库应用程序.此数据库包含具有从外部 xml数据生成的参数类型的参数.目前的情况是我使用了Enum的序号.但是当插入或删除参数时,序数会混淆:(
FOOD = 0,TOYS = 1)< - >(FOOD = 0,NONFOOD = 1,TOYS = 2)

参数类型的数量在200和之间2000,所以我害怕使用hashCode()作为字符串.

PS:我正在使用Java.

非常感谢

java hash cryptography code-generation

1
推荐指数
1
解决办法
8854
查看次数