小编kri*_*hna的帖子

错误在gcc中使用数学函数?

当我在log2()中传递常量值时,如下所示

#include <stdio.h>
#include<math.h>

int main(int argc, char* argv[]) 
{
int var;
var= log2(16);
printf("%d",var);
return 0;
}
Run Code Online (Sandbox Code Playgroud)

gcc prog.c(NO Error)4

但是当我在函数log2(var)中传递变量时,给出了对`log2'的错误未定义引用我需要链接库即-lm

#include <stdio.h>
#include<math.h>

int main(int argc, char* argv[]) 
{ 
int var,i;
i= log2(var);
printf("%d",i);
return 0;
}
Run Code Online (Sandbox Code Playgroud)

给出错误

undefined reference to `log2'
Run Code Online (Sandbox Code Playgroud)

c gcc static-libraries

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

如何设置一个用于显示的NVIDIA显卡和用于计算的其他显卡(在Linux中)?

我已经在我的机器上安装了NVIDIA显示驱动程序和CUDA,它带有一块NVIDIA GT520卡(用于显示和计算),但是对于某些程序,它给出了"启动超时并被终止"的错误.我搜索了这个错误,他们说这个错误是由OS看门狗(CentOS 6)造成的,我的内核耗费了太多时间.我找到一个解决方案,我可以插入两张卡,我可以使用一个用于显示,其他用于此链接上的计算.如何设置特定的一张卡用于显示和其他用于计算.我有内核2.6.32-431.3.1.el6.x86_64的CentOS 6.5.

linux cuda

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

我是否可以知道变量是否已更改其值而不将其与函数调用C中的先前值进行比较?

用于遵循C/C++代码

void fun(int* x)
{
    //SOMECODE;//WITHOUT SAVING PREVIOUS VALUE
    if(SOME CONDITION)
    printf("VALUE OF X IS DIFFERENT THAN PREVIOUS CALL \n");
}

int main()
{
    int a;
    a=9;
    fun(&a);
    a=12;
    fun(&a);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

是否有任何函数或标志值给我们提供有关变量是否变更的信息,如果有任何解决方案请回复

c c++

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

我们可以在 MPI 中获取进程正在运行的核心 ID 吗?

我开发了MPI程序,它可以在分布式环境中的不同内核上执行矩阵乘法,并且可以通过获取节点的主机名来演示在不同节点上的执行。但是当我们在单节点上运行程序时,我可以获得核心ID,它演示了在多节点上的执行示例代码如下

#include"stdio.h"
#include"stdlib.h"
#include"mpi.h"

int main(int argc , char **argv)
{
int size,rank;
int a,b,c;
MPI_Init(&argc, &argv);
MPI_Comm_size(MPI_COMM_WORLD, &size);
MPI_Comm_rank(MPI_COMM_WORLD, &rank);

if(rank==0)
{
for(i=0;i<size;i++)
{
    printf("insert a and b");
    scanf("%d",&b);
    scanf("%d",&c);
    MPI_Send(&b,1,MPI_INT,i+1,6,MPI_COMM_WORLD);
    MPI_Send(&c,1,MPI_INT,i+1,6,MPI_COMM_WORLD);
}
} 

if(rank!=0)
{
MPI_Recv(&b,1,MPI_INT,0,6,MPI_COMM_WORLD,&s);
MPI_Recv(&c,1,MPI_INT,0,6,MPI_COMM_WORLD,&s);
a=b*c;
printf("Mul = %d\n",a);
//Print name of core on which my process is running
}

MPI_Finalize();
return 0;
}
Run Code Online (Sandbox Code Playgroud)

linux gcc operating-system mpi

2
推荐指数
1
解决办法
6294
查看次数

如何在C中使用函数指针?

我正在编写包含下面给出的函数的pthread程序,我想在一个函数之间调用另一个函数.

void *fun1(void *arg1)
{
fun2(NULL);
}
void *fun2(void *arg)
{
fun1(NULL);
}
Run Code Online (Sandbox Code Playgroud)

当我调用上面显示的另一个函数时,我收到错误,如下所示

错误:'fun2'的冲突类型

注意:先前隐含的'fun2'声明就在这里

如何在fun1之间调用fun2

c gcc pthreads

-1
推荐指数
1
解决办法
501
查看次数

标签 统计

c ×3

gcc ×3

linux ×2

c++ ×1

cuda ×1

mpi ×1

operating-system ×1

pthreads ×1

static-libraries ×1