小编Met*_*est的帖子

当显然没有错误时,为什么编译器在这里抱怨?

每当我尝试编译以下程序时,我都会从编译器(g ++ 4.4.3)获得此消息.有什么想法,为什么?

main.cpp: In function ‘int main(int, char**)’:
main.cpp:52: error: void value not ignored as it ought to be
Run Code Online (Sandbox Code Playgroud)

第52行的代码为rc = pthread_create_with_stack(&thread [t],BusyWork,t);

#include <pthread.h>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define NUM_THREADS 4

void *stackAddr[NUM_THREADS];
pthread_t thread[NUM_THREADS];
pthread_attr_t attr;

void *BusyWork(void *t)
{
   int i;
   long tid;
   double result=0.0;
       tid = (long)t;
   printf("Thread %ld starting...\n",tid);
   for ( i = 0; i < 1000; i++)
   {
      result = result + sin(i*tid) * tan(i*tid);
   }
   printf("Thread %ld done. Result …
Run Code Online (Sandbox Code Playgroud)

c c++ linux gcc g++

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

为什么mmap不能在这里工作

当我运行以下代码时出现分段错误...

int * x = mmap( 0, 4096, PROT_READ | PROT_WRITE, MAP_PRIVATE, 0, 0 );

x[0] = 42; // <--- Segmentation fault happens due to this
Run Code Online (Sandbox Code Playgroud)

这有什么不对?

c linux memory-management mmap x86-64

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

这个汇编代码有什么作用?

当我拆解我的C代码时,我看到了以下内容.这段代码究竟做了什么?它与浮点有关吗?

movsd  (%rdx,%rax,8),%xmm0
mulsd  %xmm0,%xmm0
movsd  %xmm0,0x30(%rsp)
Run Code Online (Sandbox Code Playgroud)

c linux assembly gcc

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

kill函数返回无效参数

我正在使用kill函数进行kill处理.但是,它返回-1并perror显示"无效参数".阅读手册kill,它说如果提供了错误的信号值就会发生这种错误.我正在路过,-9或者SIGKILL像这样kill( SIGKILL, pid ).

那为什么它会给出无效的参数错误.请注意,调用该kill函数的进程是我们尝试杀死的进程的子进程.

c linux x86 gcc

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

为什么proc/self/maps没有正确显示映射

当我运行以下代码时,

int x[4096];
int *y;
int *m;

void main()
{
    y = (int*)malloc( 4096 * sizeof(int) );
    m = (int*)mmap( 0, 4096 * sizeof(int), PROT_READ | PROT_WRITE, 
MAP_PRIVATE | MAP_ANONYMOUS, -1, 0 );

    printf( "x = %p, y = %p, m = %p\n\n", x, y, m );

    system( "cat /proc/self/maps" );
}
Run Code Online (Sandbox Code Playgroud)

我得到以下输出,

x = 0x601060, y = 0x606010, m = 0x7ffff7ff5000

00400000-0040b000 r-xp 00000000 08:01 655382                             /bin/cat
0060a000-0060b000 r--p 0000a000 08:01 655382                             /bin/cat
0060b000-0060c000 rw-p 0000b000 08:01 655382                             /bin/cat …
Run Code Online (Sandbox Code Playgroud)

c linux gcc x86-64

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

我需要一个简单而有效的内存分配算法

我正在尝试实现自己的内存分配代码,这个代码简单而有效.知道我可以从哪里开始.gcc使用什么算法?

c linux gcc x86-64

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

GPU卡在2秒后重置

我正在使用NVIDIA geforce卡,如果我尝试在其上运行一些CUDA程序,则会在2秒后发出错误.我在这里读到你可以使用TDRlevel密钥HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers.但是,我在注册表中看不到任何此类密钥.是否需要自己添加?有其他人遇到过这个问题.如果是这样,你是如何解决的?谢谢.

c cuda gpu gpgpu

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

这两个实现之间有区别吗?

编译器如何为以下两个代码生成代码有什么不同.其次,他们会产生相同的回报值.

  static inline float fix2float(int64_t f)
  {
    return (float)f / ((int64_t)1 << 60); 
  }
Run Code Online (Sandbox Code Playgroud)

还有这个

  static inline float fix2float(int64_t f)
  {
    return (float)(f / ((int64_t)1 << 60)); 
  }
Run Code Online (Sandbox Code Playgroud)

c gcc

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

如何在Promela / SPIN中打印所有状态

我想在检查模型时打印所有状态。当发生断言冲突时,我们确实获得了跟踪文件,但是即使没有断言冲突,我也想查看状态。我怎样才能做到这一点?

model-checking multicore spin promela

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

使用mmap读取非惰性文件?

当您使用mmap从文件中读取时,它会执行惰性文件读取,即只将您从硬盘使用的数据带到RAM.现在,有没有什么方法可以强制整个文件立即被读入RAM?

c linux memory gcc mmap

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

标签 统计

c ×9

gcc ×7

linux ×7

x86-64 ×3

mmap ×2

assembly ×1

c++ ×1

cuda ×1

g++ ×1

gpgpu ×1

gpu ×1

memory ×1

memory-management ×1

model-checking ×1

multicore ×1

promela ×1

spin ×1

x86 ×1