草庐IT

dynamic-compilation

全部标签

compilation - 1.1.1编译依赖,1.1.2编译go程序怎么办?

每次我在(今天早上)从1.1.1升级到1.1.2(在Windows764位上)后尝试编译我的程序时,我都会收到如下错误消息:C:\Users\VonC\prog\go\src\github.com\spf13\hugo>gobuild-ohugo.exemain.go#github.com/spf13/hugo/hugolibhugolib\page.go:23:importC:\Users\VonC\prog\go\pkg\windows_amd64/github.com/emicklei/hopwatch.a:objectis[windowsamd64go1.1.1X:none]e

compiler-construction - 作为我的编译器的后端?

我想为我自己的编程语言制作一个编译器。流行的后端选择似乎是C、Java、LLVM、JVM字节码、.Net字节码、gcc、汇编...在这里,我正在考虑Go作为后端的可能性。Go显然是一种快速语言,具有垃圾收集和快速编译时间。它也是可移植和免费的(BSD风格的许可证)。所有这些都将使Go成为代码生成目标的一个不错的选择,我认为,甚至可能比其他选项更好......所以我很惊讶我找不到任何人已经这样做了。Go是代码生成的好选择吗?你能指出现有的项目这样做吗,或者解释为什么没有?或者更好的是,您有使用Go语言作为后端的经验吗?有什么我不知道的缺点吗?(我在这里对Go特别感兴趣。不要只指出替代后端

compiler-construction - 作为我的编译器的后端?

我想为我自己的编程语言制作一个编译器。流行的后端选择似乎是C、Java、LLVM、JVM字节码、.Net字节码、gcc、汇编...在这里,我正在考虑Go作为后端的可能性。Go显然是一种快速语言,具有垃圾收集和快速编译时间。它也是可移植和免费的(BSD风格的许可证)。所有这些都将使Go成为代码生成目标的一个不错的选择,我认为,甚至可能比其他选项更好......所以我很惊讶我找不到任何人已经这样做了。Go是代码生成的好选择吗?你能指出现有的项目这样做吗,或者解释为什么没有?或者更好的是,您有使用Go语言作为后端的经验吗?有什么我不知道的缺点吗?(我在这里对Go特别感兴趣。不要只指出替代后端

Linux ELF 文件 : Which byte will differ for static and dynamic ELF programs?

我正在使用linuxelf文件。我想检测给定的elf程序是静态链接的(完全静态链接,ldd表示“不是动态可执行文件”)还是动态链接的。ELF适用于嵌入式Linux,所以我不能直接运行它或使用ldd实用程序。我想通过读取和检查一些字节完全在我的程序中完成此操作。我不想依赖file实用程序或libelf、binutils等。哪些字节会不同? 最佳答案 如何使用ldd.c来自μClibc?如果你愿意,应该很容易去掉任何不需要的依赖项/检查。我认为这是一种比试图通过阅读man5elf找出所有极端情况更聪明的方法,尽管FWIW它看起来只是检查

Linux ELF 文件 : Which byte will differ for static and dynamic ELF programs?

我正在使用linuxelf文件。我想检测给定的elf程序是静态链接的(完全静态链接,ldd表示“不是动态可执行文件”)还是动态链接的。ELF适用于嵌入式Linux,所以我不能直接运行它或使用ldd实用程序。我想通过读取和检查一些字节完全在我的程序中完成此操作。我不想依赖file实用程序或libelf、binutils等。哪些字节会不同? 最佳答案 如何使用ldd.c来自μClibc?如果你愿意,应该很容易去掉任何不需要的依赖项/检查。我认为这是一种比试图通过阅读man5elf找出所有极端情况更聪明的方法,尽管FWIW它看起来只是检查

Compose Compiler 与 Kotlin 的版本兼容性

Compose与kotlin版本兼容有时AndroidStudio的build.gradle中会提示Compose有了新版本,但是如果升级不当可能会出现编译错误,比如下面这样的搭配就会出现builderrorext.versions=['kotlin':'1.6.21''compose':'1.2.0-rc02']比如当我试图将1.2.0-rc02升级到1.2.0时,会发生以下编译错误Thisversion(1.2.0)oftheComposeCompilerrequiresKotlinversion1.7.0butyouappeartobeusingKotlinversion1.6.21wh

Compose Compiler 与 Kotlin 的版本兼容性

Compose与kotlin版本兼容有时AndroidStudio的build.gradle中会提示Compose有了新版本,但是如果升级不当可能会出现编译错误,比如下面这样的搭配就会出现builderrorext.versions=['kotlin':'1.6.21''compose':'1.2.0-rc02']比如当我试图将1.2.0-rc02升级到1.2.0时,会发生以下编译错误Thisversion(1.2.0)oftheComposeCompilerrequiresKotlinversion1.7.0butyouappeartobeusingKotlinversion1.6.21wh

c - Linux新手问题: GCC Compiler output

我是Linux的新手。我在笔记本电脑上安装了Mint,最近一直在玩弄它。我写了一个简单的C程序并保存了文件。然后在命令行中输入gcc-cmyfile然后弹出一个名为a.out的文件。我天真地(经过多年的Windows使用)期望出现一个漂亮的.exe文件。我不知道如何处理这个a.out文件。 最佳答案 用-o命名并跳过-c:gcc-Wall-osomefilemyfile尽管如此,您应该使用.c扩展名来命名您的源文件。典型的编译方式,例如将两个源文件合并为一个可执行文件:#Compile(the-c)afile,thisproduce

c - Linux新手问题: GCC Compiler output

我是Linux的新手。我在笔记本电脑上安装了Mint,最近一直在玩弄它。我写了一个简单的C程序并保存了文件。然后在命令行中输入gcc-cmyfile然后弹出一个名为a.out的文件。我天真地(经过多年的Windows使用)期望出现一个漂亮的.exe文件。我不知道如何处理这个a.out文件。 最佳答案 用-o命名并跳过-c:gcc-Wall-osomefilemyfile尽管如此,您应该使用.c扩展名来命名您的源文件。典型的编译方式,例如将两个源文件合并为一个可执行文件:#Compile(the-c)afile,thisproduce

android - crtbegin.o 和 crtbegin_dynamic.o 是什么?

当使用Androidx86工具链调试链接错误(undefinedreferenceto_dso_handle)时,我注意到它正在静态链接crtbegin_dynamic.o。这个文件的用途是什么?在包含缺失符号(_dso_handle)的工具链安装目录中还有另一个类似的crtbegin.o。crtbegin.o和crtbegin_dynamic.o有什么区别? 最佳答案 C++具有全局构造函数和析构函数。crtbegin.o和crtend.o处理调用那些构造函数和析构函数。crtbegin.o的变体(例如crtbeginS.o)对其