小编Jau*_*cki的帖子

错误的类型参数:stringp,nil错误

我需要update-directory-autoloads在一个小脚本中使用函数.当我尝试使用作为目录名称的参数调用此函数时,我收到此错误:

Wrong type argument: stringp, nil.

电话看起来像这样: (update-directory-autoloads "~/test")

emacs elisp

8
推荐指数
2
解决办法
5750
查看次数

可能是什么原因导致`LLVM错误:Target不支持MC发射!`?

我现在正在研究Rust的LLVM教程.我已经实现了Kaleidoscope REPL的一些部分.它很适合我,但突然停止工作,现在每一次计算值的尝试都结束了LLVM ERROR: Target does not support MC emission!.它似乎发生在将Rust编译器更新到最新的每晚之后(但我不确定).

相关的代码片段如下.

初始化功能:

#[allow(non_snake_case)]
pub unsafe fn LLVMInitializeNativeTarget() {
    llvm::LLVMInitializeX86TargetInfo();
    llvm::LLVMInitializeX86Target();
    llvm::LLVMInitializeX86TargetMC();
}
Run Code Online (Sandbox Code Playgroud)

模块创建:

        let module = llvm::LLVMModuleCreateWithNameInContext(module_name.to_c_str().as_ptr(), context);
Run Code Online (Sandbox Code Playgroud)

执行引擎创建:

        let mut exec_engine = 0 as llvm::ExecutionEngineRef;
        let mut error = 0 as *const c_char;
        LLVMCreateExecutionEngineForModule(&mut exec_engine, module, &mut error);
        assert!(exec_engine != 0 as llvm::ExecutionEngineRef);
Run Code Online (Sandbox Code Playgroud)

编译和运行功能:

pub fn run(value: llvm::ValueRef, context: &Context) -> f64 {
    unsafe {
        let result = LLVMRunFunction(context.exec_engine,
                                     value,
                                     0,
                                     0 as *const GenericValueRef);
        let ty = …
Run Code Online (Sandbox Code Playgroud)

llvm rust

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

如何获取函数的地址?

如何在Rust中获取函数地址?'和某些功能'究竟意味着什么?

我会做什么地址

std::mem::transmute::<_, u32>(function)
Run Code Online (Sandbox Code Playgroud)

要么

std::mem::transmute::<_, u32>(&function)
Run Code Online (Sandbox Code Playgroud)

(当然是在32位系统上)?

是什么

&function as *const _ as *const c_void
Run Code Online (Sandbox Code Playgroud)

给?

UPD.@Shepmaster下面给出的答案给出了这个问题的答案(虽然也给出了其他不相关但可能对某些人有用的信息).我在这里总结一下.

获取地址很简单

funct as *const ()
Run Code Online (Sandbox Code Playgroud)

对函数的引用似乎创建了一个局部变量

let a = &42;
Run Code Online (Sandbox Code Playgroud)

rust

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

配置/安装使用Rust Cargo作为构建系统的软件的预期/计划方式是什么?

现有的构建系统通常具有某种安装目标,可以手动(用于安装在/ usr/local或用户可以访问的其他位置)或自动使用(通过基于二进制的发行版的包构建系统或基于源的包管理器)那些).

安装使用Cargo的软件的预期方式是什么?模拟的make install应该是什么样的?

Cargo本身使用额外的configure/make来处理配置,检测系统依赖性,运行cargo build和安装.

这是使用Cargo构建的任何其他软件的正确方法吗?这意味着是否有计划通过Cargo本身来完成这项任务,或者Cargo仅作为依赖程序获取和编译的工具,而无需任何配置/检测已安装的deps /安装?

或者是否有计划添加此功能?

rust rust-cargo

6
推荐指数
2
解决办法
531
查看次数

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

标签 统计

rust ×4

rust-cargo ×2

elisp ×1

emacs ×1

llvm ×1