extern int task_halt(int (*pmcb)(int, void*), void *argv);
时间: 2023-11-19 08:07:01 浏览: 95
这是一个函数声明,它声明了一个名为 `task_halt` 的函数,该函数接受两个参数:一个指向函数的指针 `pmcb`,和一个指向 `void` 类型的指针 `argv`。该函数的返回值为 `int` 类型。
根据函数名和参数名,我们可以猜测该函数的作用是停止一个任务,并且它可能会调用一个回调函数 `pmcb` 来执行一些清理工作。具体实现需要查看函数体的定义。
相关问题
extern void dgemm_(char*, char*, int*, int*, int*, double*, double*, int*, double*, int*, double*, double*, int*);
extern void dgemm_(char*, char*, int*, int*, int*, double*, double*, int*, double*, int*, double*, double*, int*);
这是一个C语言的函数声明,它声明了一个名为dgemm_的函数,该函数有13个参数,返回值类型为void。这个函数实际上是一个Fortran函数,使用了Fortran的调用约定(calling convention)。在C语言中调用Fortran函数时,需要使用extern关键字进行声明,并且需要在函数名后面加上下划线。这个函数的作用是进行矩阵乘法运算,其中参数含义如下:
- char*:表示矩阵运算中的转置方式,取值可以为‘N’(不转置),‘T’(转置)或‘C’(共轭转置)。
- int*:表示输入矩阵A的行数、列数和矩阵B的列数,分别对应于第3、4和5个参数。
- double*:表示输入的矩阵A、B和输出的矩阵C。
- int*:表示矩阵A、B和C在内存中存储时的步长(stride)。
- int*:表示该参数控制了内部循环的块大小,一般可以设置为32或64。
只声明这个函数extern int* vCastPointerTo( void * pvArgument ),后续直接调用 int *a = vCastPointerTo(buf)怎么理解,不会报错吗
这是一个用来将void指针转换为int指针的函数。"extern" 说明它在其他文件中定义,只在当前文件进行声明。直接调用 "int *a = vCastPointerTo(buf)" 将void指针 "buf" 作为参数传递给函数并将返回值赋值给 "a",如果函数的实现是合法的,那么不会报错。但如果转换不能完成或是函数实现有错误,可能会导致程序崩溃或是不可预料的结果。
阅读全文