compilation相关内容

为什么Java泛型类型推断在链式方法调用中中断?

查看以下示例中泛型类型的类型推断,我说不出为什么methodAutoTypeInference工作得很好,但methodNotCompilable(几乎相同)无法编译,为了管理它,编译器需要其他技巧,如methodWorkaroundTypeHint或methodWorkaroundTypeCast。 methodNotCompilable导致编译器不确定表达式类型和方法结果类型是否兼容的问 ..
发布时间:2022-09-22 19:06:23 Java开发

如何控制cmake的子目录编译顺序?

这是我的CMakeLists.txt: ADD_SUBDIRECTORY(third) ADD_SUBDIRECTORY(utils) ADD_SUBDIRECTORY(rpc) 但是目录‘rpc’将在‘utils’目录之前编译,实际上‘rpc’依赖于‘utils’,所以我会收到一个链接错误。 如何使‘rpc’在‘utils’之后编译? 谢谢。 推荐答案 当您使用 ..
发布时间:2022-09-01 17:55:39 其他开发

如何使函数具有库内部链接?

例如,如果我有两个文件foo.c和bar.o,并且foo.c包含引用bar.o中的函数bar()的函数foo(): int foo(int x) { x = bar(x); /* ... */ } 如何编译公开foo()但不公开bar()的静态或动态库?换句话说,我希望bar()仅在库内链接。 推荐答案 使用标准C时,您只能导出函数或不导出,没有“仅导出到这些文件”选项。因此 ..
发布时间:2022-08-23 11:09:40 其他开发

如何使用LLVM/Clang to RISC-V目标进行编译?

我想编译一个简单的程序“int main(){返回0;}”到RISC-V处理器。 LLVM/Clang版本是9.0,我想用这样的RISC-V模拟器运行编译后的程序https://github.com/riscv/riscv-tools 我的问题是,我无法使用以下命令仅列出clang支持的目标LLC-s: llc --version llc -march=xxARCHTYPExx -ma ..
发布时间:2022-08-07 12:49:24 其他开发

找不到-lp线程

我正在尝试交叉编译Samba服务器。 ./config运行得很好,但当我想要使用make进行构建时,提示符是: Linking shared library bin/libsmbclient.so.0 /opt/qnx630/host/linux/x86/usr/bin/ntoarm-ld: cannot find -lpthread collect2: ld returned 1 e ..
发布时间:2022-08-03 10:36:18 其他开发

在Linux上构建静态可执行TMUX

我已经修改了tmux源代码,需要将其编译为静态可执行文件,以便能够在不同的Linux发行版中传输它。怎么做? 推荐答案 构建和安装Tmux的说明如下:https://github.com/tmux/tmux/wiki/Installing 您可以使用--enable-static为静态生成进行配置。 ..
发布时间:2022-07-17 13:10:54 其他开发

导入LIB不使用EXEC功能?

我已经编写了以下代码字符串,并尝试通过exec方法执行它。仅在全局模式下运行此代码时,它运行正常。 codeRule = """import math def fun (n): data = n data = data * math.pi print(data) return data dd = fun(n)""" codeObejct = comp ..
发布时间:2022-07-02 11:05:17 Python

Rust:在LLVM位码中包含依赖项

我正在使用SAW验证一些Rust代码。SAW要求您编译为LLVM bitcode,然后可以导入和验证。我知道您可以使用--emit=llvm-bc标志来生成位码,这对于没有依赖项的项目非常有效。 尝试编译使用外部板条箱的项目时会出现此问题。下面是一个Cargo.toml文件示例: [package] name = "foobar" version = "0.1.0" edition = ..
发布时间:2022-07-01 18:49:12 其他开发

为什么我们需要在内联汇编中删除寄存器列表?

我的导游手册上写着: 在内联汇编中,已清除的寄存器列表用于告知 我们正在使用的寄存器的编译器(这样它就可以在 那个)。 我完全不明白,为什么编译器要知道这个?让这些登记簿保持原样有什么问题?他们是否打算在汇编代码后备份和还原它们。 希望有人能提供一个例子,因为我花了几个小时阅读有关损坏的寄存器列表,但没有明确的答案。 推荐答案 未能告知编译器您所修改的寄存器的问题与您 ..
发布时间:2022-06-23 17:35:04 其他开发

";编译器选项";-aux base-strid有什么作用?

我刚刚使用编译器选项“-fRecords-GCC-Switches”编译了代码,以查看编译器自动选择了哪些选项。现在我可以看到.GCC.command.line部分中的选项。有几个看似合理的编译器选项,但也有一个我找不到任何文档。-auxbase-strip png.o是什么意思。显然,它与png.o有关,但它到底是做什么的? 推荐答案 谷歌搜索shows: Hei Chan: ..
发布时间:2022-06-12 09:15:03 其他开发

在内核5.11上编译wanpiet驱动程序

我正在尝试在Ubuntu 21.04和内核v5.11上编译Sangoma的wantube驱动程序v7.0.32,以便与我的A200电话卡一起使用。该驱动程序旨在支持内核5.8。我已经成功地使用5.8内核构建了它,但我更希望能够继续使用5.11内核,这样我就不必降级我的生产服务器。 我缺乏C++知识,无法解决如何在编译wanpie驱动程序时排除‘struct’和";‘’struct F ..
发布时间:2022-05-30 13:29:37 C/C++开发

用C99中的库在Windows上用TCC编译文件

所以TCC的最新版本理应实现了C99的一些功能,但我发现它没有包含C99的数学库。 有没有办法让它在Windows上更多地使用C99的库?我在谷歌上搜索了一下,发现了一些主要与Linux有关的建议,但对于这个项目,我需要让它在Windows上运行。 编辑:这不是在Windows平台上获得‘任何’编译器的问题。我意识到有很多编译器。我特别需要让TCC来做这件事。 编辑:项目需要执行 ..
发布时间:2022-05-08 21:57:01 其他开发

为什么我们需要CMake?

我不明白,为什么我们需要cmake来构建库?如果我的问题很愚蠢,我很抱歉,但我需要在Widnows上使用一些库,无论我选择什么库,我都需要用cmake来构建和/或编译它。它是用来做什么的?为什么我不能只#将我需要的东西包含到我的项目中,这样它就可以与我的项目同时编译/生成? 此外,有时我需要安装Ruby、Perl、Python所有这些特定版本,以便cmake可以构建库……我为什么需要这些程序,我 ..
发布时间:2022-05-08 21:20:59 其他开发

汇编代码生成是如何工作的?

我最近一直在研究编译器设计。我已经很好地掌握了解析阶段,但在理解代码生成如何工作时遇到了一些问题。 据我所知,代码生成阶段似乎有3个主要步骤: 指令选择(贪婪平铺) 指令调度 寄存器分配 现在,指令调度有点超出了我目前正在尝试做的事情,我认为通过更多的研究和原型设计,我可能会考虑用于寄存器分配的图着色算法。 难住我的是第一步,指令选择。根据我所读到的内容,目标机器语言中的每 ..
发布时间:2022-04-17 22:04:08 其他开发

用GCC生成a.out文件格式

如何在x86架构上和GCC生成a.out文件格式? 使用NASM,我可以使用-f标志轻松完成此操作,例如: nasm -f aout start.asm objdump -a start.o start.o: file format a.out-i386-linux start.o 在Linux上,编译.c文件会生成ELF目标文件。如何使用GCC生成a.out文件? ..
发布时间:2022-04-17 11:18:13 其他开发

翻译单元vs编译单元vs目标文件vs可执行文件vs...在C++中

我找不到翻译单元、编译单元、目标文件、可执行文件之间的区别...在许多地方,我看到使用其中一个而不是另一个。 我知道这些文件是在C++程序编译和链接期间生成的。是否有人可以列出在这些过程中生成的所有文件并指定它们之间的区别? 推荐答案 翻译单元与编译单元相同(因此您的源代码及其包含的所有头文件) 目标文件通常是编译单元编译的结果。 可执行文件是将项目的目标文件与运行时库函 ..
发布时间:2022-04-17 11:16:21 C/C++开发

如何将sass代码编译成css?

我刚刚学习了一些使用codecademy.com的技巧,我不知道如何将编译main.scss文件到main.css文件。有人知道如何使用记事本++和/或Sublime Text作为文本编辑器吗? sass 您需要使用sass预处理器将sass编译成推荐答案。您应该使用Compass或sass进行编译。在项目中进行开发时,您可以运行指南针观察器,以便在进行更改时使您的CSS文件保持最新。 ..
发布时间:2022-04-10 13:44:55 前端开发