小编use*_*392的帖子

额外的反斜杠字符不会影响我的程序.为什么?

这段代码可以正常使用g ++运行.我不是没有原因.它应该给出一个错误.

#include <iostream>
using namespace std;
int main(){
    int x=9;
    int y=6;
    //note that there is extra backslash in the end of if statement
    if(x==y)\
    {
        cout<<"x=y"<<endl;
    }
    //note that there is extra backslash in the end of if statement
    if(x!=y)\
    {
        cout<<"x!=y"<<endl;
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ gcc g++ backslash

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

ctest 测试始终处于启用状态,我想禁用它们

在ctest文档中,我看到以下语句:enable_testing:启用当前目录及以下目录的测试。

如果已运行 ENABLE_TESTING 命令,则此命令会将测试目标添加到当前目录。如果尚未运行 ENABLE_TESTING,则此命令不执行任何操作。测试子系统通过使用指定参数执行 Exename 来运行测试。Exename 可以是该项目构建的可执行文件,也可以是系统上的任意可执行文件(如 tclsh)。测试将在当前工作目录设置为二叉树中 CMakeList.txt 文件对应目录的情况下运行。

因此,我从当前目录及以上目录中删除了 ENABLE_TESTING,但测试仍然有效。是默认启用的吗?我怎样才能禁用测试?

我想禁用测试,以便我可以运行 ctest 而无需启动所有测试。我想一一添加。问题是测试似乎总是启用的。

cmake ctest

5
推荐指数
0
解决办法
1377
查看次数

我不能得到三个线程

我有三个线程,我想序列化
我使用pthreads是C++.我正在尝试对输出进行排序,使其成为{A,B,C,A,B,C,A,B,C,...............}.我这样做是因为我有很多线程要我序列化.我想要的输出是:

Thread A
Thread B
Thread C
Thread A
Thread B
Thread C
Thread A
Thread B
Thread C
Thread A
Thread B
Thread C
........
........
Run Code Online (Sandbox Code Playgroud)

这是我的代码.它有时挂起,有时会运行一个或两个循环,然后挂起.我想听听你认为的问题.我的代码是:
thread_test.cpp

#include <stdio.h>
#include <pthread.h>

pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
pthread_cond_t cond = PTHREAD_COND_INITIALIZER;
int condition = 0;
int count = 0;

void* thread_c( void * arg )
{
   while( 1 )
   {
      pthread_mutex_lock( &mutex );
      while( condition != 2 )
         pthread_cond_wait( &cond, &mutex );
      printf( "Thread C");
      condition = 0;
      pthread_cond_signal( …
Run Code Online (Sandbox Code Playgroud)

c c++ multithreading mutex pthreads

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

标签 统计

c++ ×2

backslash ×1

c ×1

cmake ×1

ctest ×1

g++ ×1

gcc ×1

multithreading ×1

mutex ×1

pthreads ×1