标签: function-call

调用函数时将列表转换为*args

在Python中,如何将列表转换为*args

我需要知道因为功能

scikits.timeseries.lib.reportlib.Report.__init__(*args)
Run Code Online (Sandbox Code Playgroud)

想要传递几个time_series对象*args,而我有一个时间序列对象列表.

python arguments list function-call

116
推荐指数
2
解决办法
9万
查看次数

R中的parent.frame()和parent.env()有什么区别; 他们如何通过引用来区分?

如果有人能用一个简单的例子说明这一点会有所帮助吗?

此外,在哪里使用parent.frame()而不是parent.env()反之亦然.

environment r function-call stack-frame

80
推荐指数
1
解决办法
3万
查看次数

为什么"noreturn"函数会返回?

我读了关于属性的这个问题noreturn,它用于不返回调用者的函数.

然后我用C做了一个程序.

#include <stdio.h>
#include <stdnoreturn.h>

noreturn void func()
{
        printf("noreturn func\n");
}

int main()
{
        func();
}
Run Code Online (Sandbox Code Playgroud)

并使用以下代码生成代码的汇编:

.LC0:
        .string "func"
func:
        pushq   %rbp
        movq    %rsp, %rbp
        movl    $.LC0, %edi
        call    puts
        nop
        popq    %rbp
        ret   // ==> Here function return value.
main:
        pushq   %rbp
        movq    %rsp, %rbp
        movl    $0, %eax
        call    func
Run Code Online (Sandbox Code Playgroud)

为什么函数func()在提供noreturn属性后返回?

c assembly function-call c11 noreturn

71
推荐指数
8
解决办法
1万
查看次数

什么寄存器保存在ARM C调用约定中?

自从我上次编写手臂汇编程序以来已经有一段时间了,我对细节有点生疏.如果我从arm调用C函数,我只需要担心保存r0-r3和lr,对吧?

如果C函数使用任何其他寄存器,它是否负责保存堆栈中的那些并恢复它们?换句话说,编译器会生成代码来为C函数执行此操作.

例如,如果我在汇编程序函数中使用r10,我不必将其值放在堆栈或内存中,并在C调用后弹出/恢复它,是吗?

这是针对arm-eabi-gcc 4.3.0.

c assembly arm calling-convention function-call

51
推荐指数
5
解决办法
6万
查看次数

在Python2.x中使用print()(函数版本)

我理解语句和表达式之间的区别,我理解Python3将print()转换为函数.

但是我在各种Python2.x解释器上运行了一个用括号括起来的print()语句,它运行完美,我甚至不需要导入任何模块.

我的问题:以下代码print("Hello SO!")是否作为Python2.x中的语句或表达式进行了评估?

python printing python-2.x function-call

49
推荐指数
2
解决办法
5万
查看次数

为什么内联被认为比函数调用更快?

现在,我知道这是因为没有调用函数的开销,但是调用函数的开销真的那么重(并且值得让它内联的膨胀)?

根据我的记忆,当一个函数被调用时,比如说f(x,y),x和y被压入堆栈,堆栈指针跳转到一个空块,然后开始执行.我知道这有点过于简单了,但我错过了什么吗?一些推送和跳转来调用一个函数,真的有那么多的开销吗?

如果我忘了什么,请告诉我,谢谢!

c++ optimization compilation inline function-call

40
推荐指数
6
解决办法
4461
查看次数

memcpy或memmove可以返回与dest不同的指针吗?

该函数memmove定义如下:

void *memmove(void *dest, const void *src, size_t n);
Run Code Online (Sandbox Code Playgroud)

在Linux手册页中,它说:

返回值
memmove()函数返回指向dest的指针.

为什么函数只是定义为void memmove(…)总是返回其中一个输入参数?返回值可以与dest?不同?

或者返回值是否总是dest如此,只是能够以某种创造性的方式组合功能?

c return-value function-call memmove

38
推荐指数
3
解决办法
2584
查看次数

从java代码调用外部javascript函数

通过使用Java Scripting API,我可以在Java中执行JavaScript.但是,有人可以解释我需要添加到此代码中的内容,以便能够调用C中的函数:/Scripts/Jsfunctions.js

import javax.script.*;

public class InvokeScriptFunction {
public static void main(String[] args) throws Exception {
    ScriptEngineManager manager = new ScriptEngineManager();
    ScriptEngine engine = manager.getEngineByName("JavaScript");

    // JavaScript code in a String
    String script1 = (String)"function hello(name) {print ('Hello, ' + name);}";
    String script2 = (String)"function getValue(a,b) { if (a===\"Number\") return 1; 
                     else return b;}";
    // evaluate script
    engine.eval(script1);
    engine.eval(script2);

    Invocable inv = (Invocable) engine;

    inv.invokeFunction("hello", "Scripting!!" );  //This one works.      
 }
}
Run Code Online (Sandbox Code Playgroud)

javascript java rhino function-call

37
推荐指数
1
解决办法
10万
查看次数

是否可以显式调用名称损坏的函数?

假设我有一些类似的东西

struct Foo {
    void goo() {printf("Test");}
}

external void _ZN3Foo3gooEv(Foo *f);

int main() {
        Foo f;
        _ZN3Foo3gooEv(&f);
}
Run Code Online (Sandbox Code Playgroud)

是否可以在这里通过函数的名称修改版本调用 Foo::goo() ?

编辑:

作为澄清,这只是一个实验,看看是否可以显式调用名称损坏的函数。这里没有进一步的目标。

我认为所有成员函数基本上都将 this 指针作为它们的第一个参数。

我知道这不会链接,但我不明白为什么。我认为名称修改发生在编译时,当链接器运行时,它会解析对名称修改函数的调用。(这就是为什么我想如果我们将 _ZN3Foo3gooEv 保留为 extern,它会去符号表中查找)。

我在这里误解了什么吗?

c++ name-mangling function-call

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

在函数调用中使用多个星号有什么用?

我想不出函数调用中多个星号的任何实际用法:

void foo(int a, char b)
{

}

int main(void)
{
    (**************foo)(45, 'c');

    //or with pointer to function:
    void (*ptr)(int, char) = foo;
    (******ptr)(32, 'a');
}
Run Code Online (Sandbox Code Playgroud)

为什么在C和C++中都允许这个东西?

c c++ function-pointers function-call dereference

36
推荐指数
3
解决办法
2141
查看次数