小编Noo*_*le2的帖子

C++头文件中的大小写敏感性

我是一个完整的noob当涉及到C++,我一直劈砍而去的摩埃试图增加对通过一个Xbox 360手柄的支持XINPUT.当我包含XInput的标头时,有两个选项:

  1. XINPUT XINPUT

  1. XINPUT XINPUT

此外,为了使用XInput我需要包括windows.h.我见过的所有示例都使用以下语法:

#include <windows.h>
Run Code Online (Sandbox Code Playgroud)

但是Visual C++ Express 2010中的自动完成插入

#include <Windows.h>
Run Code Online (Sandbox Code Playgroud)

WINDOWS.H

在XInput/Xinput的情况下,似乎区分大小写很重要,但在Windows.h的情况下似乎并不重要.

包含头文件时区分大小写是否重要?这有什么逻辑吗?

XInput的区别只是存在一个被调用的东西的标题XInput和另一个叫做的东西Xinput吗?

c++ windows case-sensitive header-files xinput

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

Visual Studio Team Services构建队列未出现在列表中

我正在使用安装在本地计算机上的Build Agent进行测试,在Visual Studio Team Services中设置构建定义.

我按照这些说明创建构建代理,设置构建定义和排队构建.我在本地计算机上创建了代理,它出现在VSTS的代理池中.代理已启用并准备就绪.我还创建了一个调用我的构建脚本的构建定义.到目前为止,一切似乎都很好.

此时我已准备好对构建进行排队并运行它.对话框如下所示:

在此输入图像描述

标记为"队列"的下拉列表仅显示Hosted代理池.应该有一个叫第二个池,Default但它没有出现.我可以通过右键单击并检查HTML然后使用开发工具更改Hosted选项的值来"显示"它.Hosted的ID是2,我把它改成了,1因为我认为它是ID Default.一旦我这样做,我可以单击"确定",构建按预期运行 - 所有内容都由构建代理在我的本地计算机上签出.据推测,我对ID值的假设是正确的.

所以......一旦我在管道上捣乱一下,它正常工作的一切.但这绝对不是事情应该运作的方式.为什么Default队列没有显示在下拉列表中?我是否需要在某处翻转开关才能使其正常工作?我的帐户没有足够的访问权限吗?

其他一些细节:

  1. 我的帐户是"池管理员"
  2. 构建代理安装为Windows服务.我从命令提示符手动启动它.我无法将其安装为服务.
  3. 安装了构建代理的计算机正在运行Windows 10 x64 Pro.它是从Windows 8 x64 Pro升级而来的.
  4. 我无法使用托管代理,因为我正在构建Unity项目,并且托管代理不支持Unity.
  5. 我知道我可以使用Unity Cloud Build但我不想这样做.

UPDATE

我删除了以前的Build Agent,并在运行Windows 10 Enterprise x64的Windows Azure VM上安装了新的Build Agent.通过此更改,"托管"和"默认"队列将按预期显示.

tfsbuild azure-devops azure-pipelines

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

在LESS中引用具有多个嵌套级别的父级

我有以下LESS:

.container {
    .column, .columns {
        .one& {
            width: 40px;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

当我编译时,我得到了以下CSS:

.one.container .column,
.one.container .columns {
    width: 40px;
}
Run Code Online (Sandbox Code Playgroud)

但我希望得到:

.container .one.column,
.container .one.columns {
    width: 40px;
}
Run Code Online (Sandbox Code Playgroud)

似乎&LESS 中的父运算符()实际上引用了我期望的祖父母.我是否正确嵌套东西?文档没有显示嵌套多个深度的任何示例.我可以通过嵌套实现所需的输出吗?

我正在使用通过npm安装的lessc 1.3.3.

less

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

Linux:尝试通过ioctl获取操纵杆供应商和产品ID,而不是EINVAL

我试图在Ubuntu上读取USB操纵杆的名称,供应商ID和产品ID(特别是我在Ubuntu 13.10 x64上使用有线Xbox 360打击垫).我可以读取名称,但在尝试阅读供应商和产品ID时,我收到EINVAL错误消息.代码如下:

if (plugged[index])
{
    char name[32];
    std::snprintf(name, sizeof(name), "/dev/input/js%u", index);

    // Open the joystick's file descriptor (read-only and non-blocking)
    m_file = ::open(name, O_RDONLY | O_NONBLOCK);
    if (m_file >= 0)
    {
        // Retrieve the axes mapping
        ioctl(m_file, JSIOCGAXMAP, m_mapping);

        // Get the name
        char joyname[128];
        if (ioctl(m_file, JSIOCGNAME(128), joyname) < 0) {
            m_name = "Unknown Joystick";
        } else {
            m_name = joyname;
        }

        // Get vendor and product IDs
        input_id inpid;
        if (ioctl(m_file, EVIOCGID, &inpid) < …
Run Code Online (Sandbox Code Playgroud)

linux usb ubuntu ioctl joystick

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