小编use*_*508的帖子

GCC可以编译GIMPLE吗?

GIMPLE是GCC系统的内部表示之一.可以通过-fdump-*compiler参数转储GIMPLE或任何其他内部表示.但有没有办法编译转储的GIMPLE或任何其他表示?似乎GCC没有GIMPLE前端.我想做的是转储,分析,修改然后重新编译转储的GIMPLE以执行各种代码检测.

PS我知道GCC插件,我知道LLVM/Clang,所以请尽量回答确切的问题而不建议替代解决方案.谢谢!

gcc gimple

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

使用smalltalk的本机独立可执行文件?

我真的很喜欢live smalltalk环境(虽然我只用Pharo进行了一些实验)但是有一件事我为什么不能真正用它来进行日常开发.似乎无法从smalltalk系统创建本机独立可执行文件.本机独立可执行文件意味着创建单个可执行文件(Windows上的PE,Linux上的ELF,macosx上的Mach-O),用户可以通过双击它来运行,而无需安装任何其他执行环境.我错过了什么,实际上可以使用smalltalk创建本机独立可执行文件?

如果我们具体谈论Pharo.我知道Pharo的环境包括高效的及时编译器(从Pharo的VM字节码生成真正的本机代码),我知道可以通过剪切我的应用程序不需要的代码来删除VM映像.所以基本上我们已经拥有了几乎所有东西(我猜的链接器除外)能够创建本机独立可执行文件.如果我们在图像中放置所有代码生成内容(对于所有目标处理器),交叉编译也不应该成为问题.

我知道在smalltalk世界中,将整个VM映像与运行时环境分开交付被认为是一件好事,因此用户可以破解他/她正在使用的软件.但是,我没有看到为什么不能将您的smalltalk软件作为完全编译的本机独立可执行文件提供的任何理由.你能解释一下为什么在smalltalk世界里做这件事并不常见吗?是否有任何良好的smalltalk实现允许这样做?

总结这一切.我梦想有一个实时的smalltalk环境,在那里我可以开发和测试我的软件,但随后(当软件实际上已准备好交付时)将其交叉编译为我的单一开发机器中的windows,linux和macosx的本机可执行文件.那真是棒极了.

smalltalk pharo

6
推荐指数
4
解决办法
2875
查看次数

用于GUI或游戏开发的LISP/Scheme?

如果我想使用LISP/Scheme开发复杂的GUI应用程序或游戏,我有哪些选择?我知道Racket有一个不错的GUI工具包,但还有什么可以尝试的吗?以下是我想要的功能列表:

  • LISP/Scheme实现应该能够创建独立的可执行文件,因此用户可以照常运行应用程序,而无需安装任何其他框架.我希望它被编译为本机代码,但JIT编译的实现能够创建stanalone可执行文件(例如Racket).
  • GUI工具包或游戏开发工具包应该很好地集成到语言中,因此我可以使用语言范例开发GUI界面.为了说清楚,我不希望一对一的简单绑定到基于C的库,我需要以命令式方式编写代码,手动管理内存,努力回调到C和返回等等.
  • 我需要支持Windows,Linux和Mac OSX操作系统,但如果LISP/Scheme实现允许我创建Android和iOS应用程序也是很好的.

显然,Racket在这里很合适,如果没有好的替代方案,我想我会使用Racket.但是我想知道我是否在功能编程领域缺少一些东西(我希望它是基于LISP/Scheme的系统,但是基于Haskell/OCaml/Prolog的东西也是可以接受的,请不要C/C++和CLR/JVM的东西).

lisp user-interface scheme

5
推荐指数
0
解决办法
867
查看次数

Haxe 的 Haxe 后端?

我知道Haxe编译器是用OCaml编程语言编写的,这对于编译器开发人员来说是一个很好的选择。然而最近我发现了 Luaxe 项目,它似乎是 Haxe 的全功能 Lua 后端,并且是作为纯 Haxe 库开发的。我查看了该项目的代码,它使用某种宏魔法在编译时生成 Lua 源代码。所以我想问是否有可能在不深入OCaml并重建编译器的情况下用纯Haxe实现一个全功能的后端?如果可以的话有什么限制吗?有没有关于如何在纯 Haxe 中实现后端的好文章?

compiler-construction haxe

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

编译Pharo到C?

据说Pharo的VM(CogVM)在Smalltalk中被开发,测试,分析等,但是Smalltalk代码被转换为C,然后使用默认的系统C编译器与一些OS抽象C代码一起编译.

好吧,我想做类似的事情,我不想使用Pharo开发,测试和分析代码,但是然后将其编译为C.我怎么能这样做?如何编译到C的工作原理?Pharo是否附带Smalltalk to C转换器?我怎么能调用它?它是否编译完整的Smalltalk,或者我必须使用某种Smalltalk子集?有没有关于它的好文件?

smalltalk compilation pharo

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