小编Sag*_*usA的帖子

如何在c ++中使用/创建unique_lock?

请问,任何人都可以解释如何在c ++中使用和创建unique_lock吗?它应该被用来既能获得互斥到显示器的任何程序,并能在条件变量进行等待()...我不是从文档了解我应该如何创建它.是必要的互斥?这是一个伪代码:

/* compile with g++, flags -std=c++0x -lpthread */

#include <condition_variable>
#include <mutex>
#include <thread>
#include <iostream>
#include <string.h>
#include <unistd.h>

class monitorTh {

private:

    std::mutex m;
    std::condition_variable waitP;
    std::condition_variable waitC;
    char element[32];
    std::unique_lock::unique_lock l;

public:
    void produce(char* elemProd) {
        l.lock();
        if (/*already_present_element*/) {
            waitP.wait(l);
        }
        else {/*produce element*/}
        l.unlock();
    }

    void consume() {
        /*something specular*/
    }
};

int main(int argc, char* argv[]) {

    monitorTh* monitor = new monitorTh();
    char prodotto[32] = "oggetto";

    std::thread producer([&]() {
        monitor->produce(prodotto);
    });

    std::thread …
Run Code Online (Sandbox Code Playgroud)

c++ locking c++11

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

Swift/UISwitch:如何实现委托/监听器

在我的UITableViewController中,我有一个自定义单元格,其中包含一个切换器,如下所示:

import Foundation
import UIKit

class SwitchCell: UITableViewCell {
  @IBOutlet weak var label : UILabel!
  @IBOutlet weak var switchEmail : UISwitch!

  func setEditable(canEdit:Bool) {
      if (canEdit) {
        self.switchEmail.enabled = true
        self.label.highlighted = false
      }
      else {
          self.switchEmail.enabled = false
          self.label.highlighted = true
      }
  }

  func configureCellWithSwitch(labelText:String, switchValue:Bool, enabled:Bool) {

    var labelFrame:CGRect = self.label.frame
    labelFrame.size.height = Settings.labelHeight
    self.label.frame = labelFrame

    self.label.text = labelText

    if (switchValue) {
        self.switchEmail.setOn(true, animated: true)
    }
    else {
        self.switchEmail.setOn(false, animated: true)
    }

    self.setEditable(enabled)

  }
}
Run Code Online (Sandbox Code Playgroud)

我想知道如何实现切换器的侦听器/委托,以便从UITableViewController获取其值.我能够为UITextField和UITextView实现这些方法的单元格编写委托/监听器

func …
Run Code Online (Sandbox Code Playgroud)

uitableview uiswitch ios swift

23
推荐指数
5
解决办法
4万
查看次数

Swift:如何在登录视图后显示标签栏控制器

我在这里看过很多与此相似的帖子,但是当我在Swift中开发我的应用程序时,它们都是关于Objective-C的.从图像中我可以看到我有一个登录屏幕视图,我正确实现了登录机制.

在此输入图像描述

现在我希望在登录成功后,显示标签栏控制器.在我的登录视图控制器中,我有此功能用于登录:

var finalURL:NSString = "\(Settings.webServerLoginURL)?username=\(username)&password=\(password)"

        LoginService.requestLoginWithURL(NSURL(string: finalURL as String)!, completionHandler: { (success) -> Void in
            if (success) {
                NSLog("Login OK")

                /* Scarica dal database i tasks di LoggedUser.id */
                /* Redirect al tab HOME dell'applicazione dove si mostrano il numero di task
                di quell'utente ed in cima "BENVENUTO: name surname" */


            }

            else {
                self.alertView.title = "Autenticazione fallita!"
                self.alertView.message = "Username o passowrd."
                self.alertView.delegate = self
                self.alertView.addButtonWithTitle("OK")
                self.alertView.show()
            }
Run Code Online (Sandbox Code Playgroud)

所以我认为我之后应该显示标签栏控制器

NSLog("Login OK")
Run Code Online (Sandbox Code Playgroud)

但我不知道怎么做.我是Swift/XCode的初学者...如果你能解释我的话.感谢所有阅读过的人.

xcode uitabbarcontroller ios swift

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

Xcode 8:如何更改目标设备系列

我为iphone设备开发了适用于iOS 9/10的应用程序,但我的客户想要首先在iPAD上运行并显示它(总是iOS 9/10).我试图在我的iPAD mini上编译并运行它,结果很糟糕.我的意思是可见屏幕比iPAD小得多,而且它非常慢并且图形被破坏.这很奇怪,因为我写了很多约束,我的应用程序在各种iphone(> 4S)上表现得很好.此外,当我点击表格单元格行以显示第二个视图控制器时,应用程序完全崩溃 ...为什么我在ipad上看到这个?我应该将开头设置的设备目标更改为仅限iPhone吗?在Xcode 8中,在项目 - >构建设置 - >目标设备系列下,我看到3个选项:1,2和1,2.他们的意思是什么?

xcode ios ios9 ios10 xcode8

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

在进程之间共享条件变量和互斥:是否必须先锁定互斥锁?

我需要一些帮助来了解如何在C中使用条件变量来解决练习.这是一个小例子:

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <pthread.h>
#include <string.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/mman.h>
#include <sys/stat.h>
#include <fcntl.h>

#define OKTOWRITE "/oktowrite"
#define MESSAGE "/message"
#define MUTEX "/lock"

int main(int argc, char** argv)
{
  pthread_cond_t* condition;
  pthread_mutex_t *mutex;
  char* message;
  int des_cond, des_msg, des_mutex;
  int mode = S_IRWXU | S_IRWXG;

  des_mutex = shm_open(MUTEX, O_CREAT | O_RDWR | O_TRUNC, mode);

  if (des_mutex < 0)
  {
    perror("failure on shm_open on des_mutex");
    exit(1);
  }

  if (ftruncate(des_mutex, sizeof(pthread_mutex_t)) == -1)
  {
    perror("Error …
Run Code Online (Sandbox Code Playgroud)

c mutex ipc pthreads condition-variable

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

使用Managers在python中共享对象(类实例)

我需要在python中的几个进程之间共享一个对象及其方法.我正在尝试使用Managers(在模块多处理中)但它崩溃了.这是生产者 - 消费者的一个愚蠢的例子,其中两个进程之间的共享对象只是一个包含四种方法的数字列表.

from multiprocessing import Process, Condition, Lock  
from multiprocessing.managers import BaseManager  
import time, os  

lock = Lock()  
waitC = Condition(lock)  
waitP = Condition(lock)  

class numeri(object):  
    def __init__(self):  
        self.nl = []  

    def getLen(self):  
        return len(self.nl)  

    def stampa(self):  
        print self.nl  

    def appendi(self, x):  
        self.nl.append(x)  

    def svuota(self):  
        for i in range(len(self.nl)):  
            del self.nl[0]  

class numManager(BaseManager):  
    pass  

numManager.register('numeri', numeri, exposed = ['getLen', 'appendi', 'svuota', 'stampa'])  

def consume(waitC, waitP, listaNumeri):  
    lock.acquire()  
    if (listaNumeri.getLen() == 0):  
        waitC.wait()  
    listaNumeri.stampa()  
    listaNumeri.svuota()  
    waitP.notify()  
    lock.release()  

def produce(waitC, waitP, …
Run Code Online (Sandbox Code Playgroud)

python multiprocessing multiprocessing-manager

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

Python .split()没有'你

在Python中,如果我有一个像这样的字符串:

a =" Hello - to - everybody"
Run Code Online (Sandbox Code Playgroud)

我做到了

a.split('-')
Run Code Online (Sandbox Code Playgroud)

然后我明白了

[u'Hello', u'to', u'everybody']
Run Code Online (Sandbox Code Playgroud)

这只是一个例子.

如何在没有烦人的情况下获得一份简单的清单?

python unicode-string

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

Swift/https:NSURLSession/NSURLConnection HTTP加载失败

不幸的是,今天早上我的XCode更新到版本7,而我用http开发的iOS应用程序现在想要https.因此,在许多教程之后,我配置了我的MAMP服务器,以便使用https/ssl创建虚拟证书.现在在我的iOS应用中,URL如下所示:

static var webServerLoginURL = "https://localhost:443/excogitoweb/mobile/loginM.php"
static var webServerGetUserTasks = "https://localhost:443/excogitoweb/mobile/handleTasks.php"
static var webServerGetUsers = "https://localhost:443/excogitoweb/mobile/handleUsers.php"
static var webServerGetProjects = "https://localhost:443/excogitoweb/mobile/handleProjects.php"
Run Code Online (Sandbox Code Playgroud)

如果我尝试在浏览器中访问它们,它们工作正常.我习惯使用NSURLSession.sharedSession().dataTaskWithRequest()来访问数据库和php文件,现在它会引发标题中的错误.例如,这是引发错误的行:

if let responseJSON: [[String: String]] = (try? NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions())) as? [[String: String]] {
...
}
Run Code Online (Sandbox Code Playgroud)

这是完整的错误消息:

2015-09-21 16:41:48.354 ExcogitoWeb[75200:476213] CFNetwork SSLHandshake failed (-9824)
2015-09-21 16:41:48.355 ExcogitoWeb[75200:476213] NSURLSession/NSURLConnection   HTTP load failed (kCFStreamErrorDomainSSL, -9824)
fatal error: unexpectedly found nil while unwrapping an Optional value
Run Code Online (Sandbox Code Playgroud)

我想知道如何解决这个问题.我在这里已经阅读了一些有用的答案,但有许多事情我仍然不明白,如果有人愿意帮助/解释我,我将非常感激.

https ios xcode7 swift2

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

为什么OpenCV仅在训练图像中识别对象?

为了让我的iOS应用识别1€,2€和0.50€硬币我一直在尝试使用opencv_createsamplesopencv_traincascade创建我自己的classifier.xml.所以,我从一个短视频裁剪了60张2欧元硬币的图像,如下所示:

在此输入图像描述

然后,我将它们与随机背景相结合使用opencv_createsamples.我获得了类似于此的12000张图片:

在此输入图像描述

我运行了以下命令:

opencv_createsamples -img positives/i.jpg -bg negatives.txt -info i.txt -num 210 -maxidev 100 -maxxangle 0.0 -maxyangle 0.0 -maxzangle 0.9 -bgcolor 0 -bgthresh 0 -w 48 -h 48 (对于我从0到60)

cat *.txt > positives.txt

opencv_createsamples -info positives.txt -bg negatives.txt -vec 2.vec -num 12600 -w 48 -h 48

opencv_traincascade -data final -vec 2.vec -bg negatives.txt -numPos 12000 -numNeg 3000 -numStages 20 -featureType LBP -precalcValBufSize 2048 -precalcIdxBufSize 2048 -minHitRate 0.999 -maxFalseAlarmRate 0.5 -w 48 -h 48

训练在第13阶段停止.一旦我得到了一个, …

c++ opencv detection lbph-algorithm opencv3.0

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

Visual Studio Express:致命错误c1060,编译器没有堆空间

我正在尝试使用VC 11从其源代码构建程序,当编译器完成时,它会引发标题中的错误.正如我在这里和其他论坛中所读到的那样,我一直试图关闭尽可能多的程序并扩大Windows中交换文件的大小......它们不起作用.

我读过一个名为\ Zm的参数,但我不明白如何使用它.

你能帮我么?

compiler-errors visual-studio visual-c++ visual-studio-2012

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