小编Ian*_*Ian的帖子

我如何在ubuntu上安装bluez进行开发?

初学者问题:

我想在我的Raspberry Pi中使用BlueZ驱动程序以简单的方式连接到我正在编写的iPhone应用程序,但我正在尝试在我的Ubuntu启动时首先对其进行原型设计(我是双启动一个macbook pro w/macOS sierra/Ubuntu 16.04).我无法将蓝牙标题"bluetooth.h"显示在我的c程序中.我尝试过sudo apt-get install bluez,但执行此命令后,我的系统中没有出现bluetooth.h标头.以下是我的原型应用程序的包含:

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/socket.h>
#include <bluetooth/bluetooth.h>
#include <bluetooth/hci.h>
#include <bluetooth/hci_lib.h>
Run Code Online (Sandbox Code Playgroud)

当我gcc的程序,我链接到-lbluetooth,但我的系统也找不到该lib.

我应该使用BlueZ,对吧?我已经读过BlueZ是Linux的官方蓝牙堆栈,我打算把Raspbian Jesse放在我的覆盆子pi上; 我只是在理智地检查我是在正确的道路上.

c ubuntu bluetooth raspberry-pi bluez

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

C++ 循环析构函数

在文件啊:

class B;
class A
{
public:
    B *b;
    A(B *b = nullptr)
    {
        this->b = b;
    }
    ~A()
    {
        delete this->b;
    }
};
Run Code Online (Sandbox Code Playgroud)

在文件 bh 中:

class A;
class B   
{
public:
    A *a;
    B(A *a = nullptr)
    {
        this->a = a;
    }
    ~B()
    {
        delete this->a;
    };
};
Run Code Online (Sandbox Code Playgroud)

让我们假设我们有一个指向 A *对象的指针,并且我们想要删除它:

// ...
A *a = new A();
B *b = new B();
A->b = b;
B->a = a;
// ...

delete a;

// ...
Run Code Online (Sandbox Code Playgroud)

A 的析构函数会说删除 B;即调用 …

c++

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

重写push_back c ++

我有一个名为Pathextends 的类std::vector<Square *>,其中Square也是我创建的类.这Path将作为实体遍历2D环境的指南.我需要获得最长路径和最短路径,因此我希望找到Squaresa中两个之间的平方数Path.要做到这一点,我觉得重载是有益的std::vector<Square *>::push_back(const value_type &__x),虽然我不确定它的语法是什么.我目前正在尝试这个:

class Path : public std::vector<Square *>
{   //... functional stuff, not relevant. 
    int length;
public:
    push_back(const value_type &__x)
    {   Square *last_square = this->at(this->size() - 1);

        // how do I call super class push_back?
        // however that works, I push back &__x square here.

        Square *most_recent = (Square *)&__x;
        int delta_x = compare_distance(last_square, most_recent);
        length += delta_x;
    };
    int path_length() { …
Run Code Online (Sandbox Code Playgroud)

c++ inheritance overriding overloading vector

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

无法销毁错误的 Transform 组件

我有一些 Unity 代码,可以使用 ac# 脚本创建一个预制件的网格(总共 2^ 维)。更改“尺寸”值后(现在通过编辑器),我希望在 Unity 使用 OnValidate 更新之前删除所有预制件。Unity 似乎不想删除之前代表空间的一组对象,因为这些对象仍然可以在 Unity Hierarchy Pane 中访问:

无法统一销毁对象。错误说:

“无法销毁'XXX'的Transform组件。如果您想销毁游戏对象,请改为在游戏对象上调用'Destroy'。不允许销毁transform组件。”

(参考函数 DeletePoints/GeneratePoints。调用图: OnValidate --> GeneratePoints(->DeletePoints, ->GeneratePointsHelper)

using UnityEngine;
using System;
using System.Collections.Generic;
using System.Collections;

public class BinarySpacePointGenerator : MonoBehaviour {
    private const int UNITY_DRAW_SPACE_DIMENSIONALITY = 3;
    /**
     * These values denote spacings for the three dimensional space between binary points.
     */
    public float xoff, yoff, zoff;
    public float scale;
    public Transform pointPrefab;
    /**
     *  The current dimensionality of binary space to be …
Run Code Online (Sandbox Code Playgroud)

c# unity-game-engine unity5

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