这是我的代码:
#include <cstring>
#include <iostream>
int main() {
bool a;
memset(&a, 0x03, sizeof(bool));
if (a) {
std::cout << "a is true!" << std::endl;
}
if (!a) {
std::cout << "!a is true!" << std::endl;
}
}
Run Code Online (Sandbox Code Playgroud)
它输出:
a is true!
!a is true!
Run Code Online (Sandbox Code Playgroud)
似乎!运算符bool仅反转最后一位,但每个不相等的值0都被视为true.这导致显示的行为,这在逻辑上是错误的.这是实施中的错误,还是规范允许这样做?请注意,memset可以省略,并且行为可能是相同的,因为a包含内存垃圾.
我正在使用gcc 4.4.5,其他编译器可能会采用不同的方式.
我正在用Jekyll/Liquid构建一个静态站点(没有博客).我希望它有一个自动生成的导航菜单,列出所有现有页面并突出显示当前页面.这些项目应按特定顺序添加到菜单中.因此,我weight在页面'YAML中定义了一个属性:
---
layout : default
title : Some title
weight : 5
---
Run Code Online (Sandbox Code Playgroud)
导航菜单构造如下:
<ul>
{% for p in site.pages | sort:weight %}
<li>
<a {% if p.url == page.url %}class="active"{% endif %} href="{{ p.url }}">
{{ p.title }}
</a>
</li>
{% endfor %}
</ul>
Run Code Online (Sandbox Code Playgroud)
这会创建指向所有现有页面的链接,但它们未被排序,sort过滤器似乎被忽略.显然,我做错了什么,但我无法弄清楚是什么.
当src来自我的本地电脑时,如何禁用视频自动播放?
<iframe width="465" height="315" src="videos/example.mp4"></iframe>
Run Code Online (Sandbox Code Playgroud)
我尝试了以下,但它不起作用:
src="videos/example.mp4?autoplay=0"src="videos/example.mp4?autoplay=false"src="videos/example.mp4?autostart=0"src="videos/example.mp4?autostart=false"我想要一个带有插入框阴影的div,其中包含滚动内容.不幸的是,box-shadow不会在内容中的元素上进行渲染,而是在背景上进行渲染,但我希望它也能覆盖内容元素.
我偶然发现了这个解决方案:http://jsfiddle.net/HPkd3/(via).问题是,我不能让它与我的滚动设置一起工作; 如果我将蒙版定位在滚动div中,阴影会滚动 - 如果我将它放在div之外,滚动条会在其上投下阴影,这看起来很奇怪.
任何想法如何做到这一点?
编辑:一些示例代码:http://jsfiddle.net/ZSpSS/2/
我希望这个例子中的红色方块覆盖阴影,而当我滚动内容时阴影应该是持久的.
ERROR: yaml.parser.ParserError: while parsing a block mapping
in "././tmp/statelesscs_compose.yml", line 1, column 1
expected <block end>, but found ':'
in "././tmp/statelesscs_compose.yml", line 4, column 1
docbase installation completed
Run Code Online (Sandbox Code Playgroud)
执行下面的yml file.can时,请建议我如何解决这个问题.
用法示例:
docker-compose -f my.yml up
Run Code Online (Sandbox Code Playgroud)
也让我知道是否有任何格式化yml文件的工具,以便我可以轻松修改
my.yml:
version: '2'
services:
ubuntupgcsstateless:
image: ubuntupgstatelesscsimage
environment:
- EXTERNAL_IP=10.31.86.164
- EXTERNALDB_IP=10.31.86.165
- EXTERNALDB_ADMIN_USER=postgres
- EXTERNALDB_ADMIN_PASSWORD=password
- DOCBASENAME=DocbaseName
hostname:
"ubuntupgcsstateless"
container_name:
"ubuntupgcsstateless"
ports:
- "1689:1689"
- "1690:1690"
- "50000:50000"
- "50001:50001"
- "9080:9080"
- "9082:9082"
volumes:
- DocbaseName_data:/home/dmadmin/dctm/data
- DocbaseName_dba:/home/dmadmin/dctm/dba
- DocbaseName_share:/home/dmadmin/dctm/share
- DocbaseName_dfc:/home/dmadmin/dctm/config …Run Code Online (Sandbox Code Playgroud) 我尝试为嵌入式(自定义)基于ARM的Linux系统编译一些C代码.我用一个名为arm-linux-gnueabi-gcc-4.4的交叉编译器设置了一个Ubuntu VM,因为它看起来像我需要的东西.现在,当我用这个gcc编译我的代码时,它产生一个像这样的二进制文件:
$ file test1
test1: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked
(uses shared libs), for GNU/Linux 2.6.31,
BuildID[sha1]=0x51b8d560584735be87adbfb60008d33b11fe5f07, not stripped
Run Code Online (Sandbox Code Playgroud)
当我尝试在嵌入式Linux上运行这个二进制文件时,我得到了
$ ./test1
-sh: ./test1: not found
Run Code Online (Sandbox Code Playgroud)
权限就足够了.我只能想象二进制格式有问题,所以我看了一些工作二进制文件作为参考:
$ file referenceBinary
referenceBinary: ELF 32-bit LSB executable, ARM, version 1, dynamically linked
(uses shared libs), stripped
Run Code Online (Sandbox Code Playgroud)
我发现存在一些差异,但我没有足够的知识来确定我需要修复的内容以及如何解决这个问题.有人可以解释哪个区别至关重要?
我看到的另一件事是依赖:
$ ldd test1
libc.so.6 => not found (0x00000000)
/lib/ld-linux.so.3 => /lib/ld-linux.so.3 (0x00000000)
Run Code Online (Sandbox Code Playgroud)
(有趣的是,这可以在目标系统上运行,尽管它不能执行二进制文件.)嵌入式系统只有一个libc.so.0可用.我想我需要告诉编译器我要链接的libc版本,但据我所知,gcc只是链接到它附带的版本,这是正确的吗?我能做些什么呢?
编辑:这是我使用的Makefile:
CC=/usr/bin/arm-linux-gnueabi-gcc-4.4
STRIP=/usr/bin/arm-linux-gnueabi-strip
CFLAGS=-I/usr/arm-linux-gnueabi/include
LDFLAGS=-nostdlib
LDLIBS=../libc.so.0
SRCS=test1.c
OBJS=$(subst .c,.o,$(SRCS))
all: test1
test1: $(OBJS) …Run Code Online (Sandbox Code Playgroud) 通过将.keylayout文件与文件一起.icns放入OSX,可以在OSX上安装自定义键盘布局/Library/Keyboard Layouts.但是,当我启用Yosemite的暗模式时,图标会从菜单栏中消失(尽管该区域仍然可以点击).
此图标表示可以在键盘首选项中启用的输入菜单.OSX API允许为暗模式指定替代图标,但如何为键盘布局指定此图标?
我正在使用 C++ 编写一个 Windows 库。该库应该能够检查系统上是否安装了特定设备的设备驱动程序。因此,我正在寻找一种方法来检查是否为已知的Device ID安装了驱动程序。
到目前为止,我找到了这样的信息:
SetupDiBuildDriverInfoList列出给定设备的可用驱动程序。但是,我必须提供的不仅仅是设备 ID。
SetupDiGetClassDevs似乎准确地返回了我调用 SetupDiBuildDriverInfoList 所需的内容,但它仍然不接受设备 ID 作为输入。它可能需要设备设置/接口类的 GUID,但如果我理解正确的话,特定于供应商的驱动程序没有这样的 GUID。它还可以使用 PnP 枚举器,但我对此不太了解,无法判断是否可以以某种方式使用它。或者最后,它可能需要设备实例 ID,但不是设备 ID。
显然,我想检查是否有同类设备,所以通过设备实例ID查询是不可行的。因此,问题是:如何使用我列出的 API 函数(或可以识别设备的任何其他信息;我假设设备 ID 是正确的)来检查是否安装了给定设备 ID 的驱动程序(或任何其他方式)?
编辑:由于我的问题似乎特定于我的设置,我在这里提供了一个完整的最小工作示例。
这是我的 Maven 设置 ( pom.xml):
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>foo</groupId>
<artifactId>bar</artifactId>
<version>1.0-SNAPSHOT</version>
<name>AsciiDoc Test</name>
<build>
<plugins>
<plugin>
<groupId>org.asciidoctor</groupId>
<artifactId>asciidoctor-maven-plugin</artifactId>
<version>1.5.3</version>
<dependencies>
<dependency>
<groupId>org.asciidoctor</groupId>
<artifactId>asciidoctorj-pdf</artifactId>
<version>1.5.0-alpha.11</version>
</dependency>
<dependency>
<groupId>org.asciidoctor</groupId>
<artifactId>asciidoctorj</artifactId>
<version>1.5.4</version>
</dependency>
<!-- beware, jruby 1.7.23 breaks asciidoctorj -->
<dependency>
<groupId>org.jruby</groupId>
<artifactId>jruby-complete</artifactId>
<version>1.7.21</version>
</dependency>
</dependencies>
<configuration>
<sourceDirectory>${project.basedir}/src</sourceDirectory>
</configuration>
<executions>
<execution>
<id>generate-pdf-doc</id>
<phase>generate-resources</phase>
<goals>
<goal>process-asciidoc</goal>
</goals>
<configuration>
<backend>pdf</backend>
<doctype>book</doctype>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
Run Code Online (Sandbox Code Playgroud)
这是我的 AsciiDoc 源代码 ( src/test.adoc):
[cols="a"]
|===
|First paragraph
second …Run Code Online (Sandbox Code Playgroud)