标签: code-generation

以图形方式布置wx应用程序

作为wx的新手,我想知道是否有一个IDE(特别是Linux)可以帮助我布置一个框架或对话框,或者只是为了帮助我看看我在做什么.这意味着还要为这些更改创建代码.

我记得当使用资源编译器为OS/2和Windows生成二进制文件然后创建窗口,并希望有类似的东西(虽然显然不是二进制,如果wx不支持).

wxwidgets code-generation

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

从另一个PHP脚本下载PHP生成的页面的内容

我在服务器上有一个PHP脚本,可以动态生成XML数据,例如Content-Disposition:附件或简单的echo,无关紧要.我将这个文件命名为www.something.com/myOwnScript.php

在另一台服务器上,在另一个PHP脚本中,我希望能够将此文件(以避免"将文件保存到磁盘")作为字符串(使用路径www.something.com/myOwnScript.php)然后操作XML数据脚本生成.

这可能不使用Web服务吗?安全隐患?

谢谢

php code-generation download content-disposition

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

我怎样才能在C#中使用这样的codegen类?

我在项目中有多个类,除了类的名称之外完全相同.基本上,它们代表在运行时从配置文件加载的美化枚举.这些类看起来像这样:

public class ClassName : IEquatable<ClassName> {
    public ClassName(string description) {
        Description = description;
    }

    public override bool Equals(object obj) {
        return obj != null &&
            typeof(ClassName).IsAssignableFrom(obj.GetType()) && 
            Equals((ClassName)obj);
    }

    public bool Equals(ClassName other) {
        return other != null && 
            Description.Equals(other.Description);
    }

    public override int GetHashCode() {
        return Description.GetHashCode();
    }

    public override string ToString() {
        return Description;
    }

    public string Description { get; private set; }
}
Run Code Online (Sandbox Code Playgroud)

我认为没有理由复制此文件并多次更改类名.当然,有一种方法可以列出我想要的类,并自动为我创建它们.怎么样?

.net c# code-generation code-duplication

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

我可以使用所有设计模式?

1.我需要构建一个"Web服务服务器(模拟器)",它生成xml文件,并向客户端发送异步调用以进行通知.在这一点上,我正在编写一个代码来生成将用于测试的虚拟XML文件(FileGeneratorClass-- builder)?

2.另外,我是否可以通过一种方式实现这一点,我不必从头开始编写完整的代码来模拟另一个Web服务服务器和另一种文件格式? - 我可以利用哪种模式?

3.对象/类是从Schema文件(对于xml文件)和WSDL(对于Web服务)生成的,如何使我的代码免受这些文件(更新版本)的更改? - 哪种设计模式?

(如果我提供的信息太多或太少,请告诉我,如果您需要我编辑,也请告诉我)

非常感谢你.

免责声明:我是一个完整的新手,使用这个小项目的模式可能有点矫枉过正但我想这样做,以便我学习/理解它.我认为,当我需要在更复杂的项目中执行此操作时,这将给予我信心和清晰度.

c++ oop code-generation design-patterns

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

从python脚本调用gcc给我'未定义的符号:"_ main"

我正在尝试用Python编写代码生成器脚本,它生成一个C源文件,编译并运行它.但是,我无法从脚本中调用gcc.

一个简单的hello world示例:

import subprocess  

basename = "CodeGenTest";  
execname = basename;  
srcname = basename + ".c";  

codeList = [];  
codeList.append("#include <stdio.h>");  
codeList.append("int main(int argc, char *argv[])\n{");  
codeList.append("printf(\"Hello world.\\n\");");  
codeList.append("}");  

# Convert codelist to string.  
codeList.append("");  
codeString = "\n".join(codeList);  

# Print code to output source file  
outfile=open(srcname,'w');  
outfile.write(codeString);  
outfile.close;  

print "Compile.";  
cmd = ["gcc", "-O2", srcname, "-o", execname];  
p = subprocess.Popen(cmd);  
p.wait();  

subprocess.call(["./"+execname]);  
Run Code Online (Sandbox Code Playgroud)

如果我运行此脚本,我会收到以下错误输出

Compile.
Undefined symbols:
  "_main", referenced from:
      start in crt1.10.6.o
ld: symbol(s) not found
collect2: ld returned 1 …
Run Code Online (Sandbox Code Playgroud)

c python gcc code-generation

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

列表上"不同"的代码更快

这个问题涉及使用Isabelle/HOL定理证明器生成代码.

当我导出distinct列表上的函数的代码时

export_code distinct in Scala file -
Run Code Online (Sandbox Code Playgroud)

我得到以下代码

def member[A : HOL.equal](x0: List[A], y: A): Boolean = (x0, y) match {
  case (Nil, y) => false
  case (x :: xs, y) => HOL.eq[A](x, y) || member[A](xs, y)
}

def distinct[A : HOL.equal](x0: List[A]): Boolean = x0 match {
  case Nil => true
  case x :: xs => ! (member[A](xs, x)) && distinct[A](xs)
}
Run Code Online (Sandbox Code Playgroud)

此代码具有二次运行时.有更快的版本吗?我想到了"~~/src/HOL/Library/Code_Char"在我的理论开头导入字符串并建立列表的高效代码生成之类的东西.更好的实现distinct方法是在O(n log n)中对列表进行排序,并迭代列表一次.但我猜一个人可以做得更好吗?

无论如何,是否有更快的实现distinct和可能的其他功能Main

optimization code-generation scala isabelle

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

从表达式增加值

我想写一个闭包并增加它的值,但我无法做到.这是我的代码

        int i = 0;
        Expression<Func<bool>> closurExpression = () =>
                                                  {
                                                      i++;
                                                      return i != 0;
                                                  };
Run Code Online (Sandbox Code Playgroud)

但我得到多个错误A lambda expression with a statement body cannot be converted to an expression treeAn expression tree may not contain an assignment operator等等.是否可以不使用Mono.Cecil等外部工具?


对于这个问题:我为什么要求它.我想写一个简单的包装器(用于Func<T,T> at least计算调用计数的签名.例如:

Wrapper<int> wrapper = () => 5;
for(int i = 0; i < 10; i++)
   wrapper();
int calls = wrapper.Calls; // 10;
Run Code Online (Sandbox Code Playgroud)

我的第一个认识是:

class FunctionWithCounter<T, TResult>
{
    private readonly Func<T, TResult> function;
    public …
Run Code Online (Sandbox Code Playgroud)

.net c# reflection code-generation linq-expressions

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

如何为unchecked-statement创建表达式树语句

在我的表达式树(使用Expression类创建)中,我需要将我的代码包装在一个未经检查的块中(http://msdn.microsoft.com/en-us/library/a569z7k8.aspx)但是如何?这种Expression类型没什么有趣的.

c# code-generation

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

是否可以使用C++模板来控制代码生成?

是否可以使用C++模板来控制代码生成?

像(伪代码......)

template<int i, int j> void f() {
#if i > j
#define
  //code...
#else
  //code...
#endif
}
Run Code Online (Sandbox Code Playgroud)

(我开始习惯模板,但我想知道它们有多强大).

谢谢!

c++ macros templates code-generation

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

Golang:在源代码中出现的print结构

此问题类似但不完全相同.

我正在做一些代码生成,从Go中制作.go文件.我有一个结构,我想生成它的文本表示,以便我可以将它作为文字插入到生成的代码中.

所以,如果我有 myVal := SomeStruct{foo : 1, bar : 2},我想得到字符串"SomeStruct{foo : 1, bar : 2}".

Go有可能吗?

serialization struct code-generation pretty-print go

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