小编oyv*_*ind的帖子

C的确定CRC

由于CRC被如此广泛地使用,我很惊讶在C中找到CRC实现很困难.

对于C,是否存在"确定的"CRC计算片段/算法,"每个人"都使用?或者:是否有一个很好的CRC实现有人可以担保,并指向我?我正在寻找特别是CRC8和CRC16实现.

想想看,我的情况可能有点不同寻常.我正在为Linux编写C代码,代码最终应该移植到微控制器上.似乎一些微控制器API确实带有CRC实现; 在任何情况下,我都在寻找一个通用的软件实现(我读到CRC最初的意思是硬件实现).

c crc

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

三星Galaxy S3上的蓝牙4.0 /智能/低能耗

我正在尝试为S3开发蓝牙4.0应用程序.问题是,手机的行为就像它甚至没有蓝牙4.0.它不会发现4.0设备,并且无法使用4.0设备发现.我使用Broadcom-ble API在手机设置和应用程序中尝试了这两种方法.Broadcom API没有任何额外的功能来查找/发现4.0设备,而是使用常规的BluetoothAdapter功能,并声称它将在4.0手机中进行扩充,以发现4.0设备.

有人试过在S3上使用蓝牙4.0吗?有没有人成功使用Broadcom API?

提前致谢.

android bluetooth broadcom galaxy bluetooth-lowenergy

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

关闭常规合并的快进合并,但不是拉

我希望git --no-ff在我使用时总是进行merge commit()git merge,但保留默认行为(--ff)git pull.这是可能的(配置)?

git git-merge fast-forward

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

抑制 Gtk.ToggleButton.set_active 上的信号

有没有办法抑制当您使用 set_active() 设置 ToggleButton 的状态时发出的“切换”信号?

我想用 GtkToggleButton 表示连接状态。由于状态可以从其他事件中更改,而不仅仅是单击按钮,我想更新状态更改信号上的按钮,但我希​​望不发出信号(当它发生时,我不需要运行断开连接过程)已经断开)。我可以只检查连接状态,但在信号时间前后似乎不一致。

也欢迎除 ToggleButtons 之外的其他解决方案。

谢谢

gtk state signals pygtk togglebutton

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

Windows在实践中命名管道

随着Windows命名管道,什么是使用正确的方法CreateNamedPipeConnectNamedPipeDisconnectNamedPipe,和CloseHandle电话?

我正在制作一个连接到客户端应用程序的服务器应用程序,该客户端应用程序在会话中多次连接和断开与管道的连接。

当我写失败,因为客户端断开连接,我应该打电话DisconnectNamedPipeCloseHandle或没有在我的把手。

然后,要接受新的连接,我应该先呼叫CreateNamedPipe,然后再呼叫ConnectNamedPipe还是ConnectNamedPipe

我非常想解释这些调用导致我的管道处于不同状态的原因,因为在其他地方没有找到这种状态。

附加信息:

语言:使用Python win32pipewin32filewin32api图书馆。

管道设置:等待,无重叠,字节流。

python windows winapi named-pipes

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

任何python的内置模块都使用线程吗?

导入/使用任何python的内置库会产生线程而不会被明确询问吗?

python multithreading standard-library

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

结构和整数的记忆顺序

我想用struct和uint64_t建立联合,所以我可以用结构引用单个uint16_ts,并将它们连接在uint64_t中.我做了这个测试程序:

#include "stdio.h"
#include "stdint.h"
struct test_struct{
    uint16_t stuff;
    uint16_t a;
    uint16_t b;
    uint16_t c;
};

union test_union{
    struct test_struct str;
    uint64_t uint;
};    

int main(){
    struct test_struct x = {
        .stuff = 0x0000,
        .a = 0x1234,
        .b = 0x5678,
        .c = 0x9ABC
    };
    union test_union y;
    y.str = x;

    printf("y.uint: %llX\n", y.uint);
}
Run Code Online (Sandbox Code Playgroud)

输出变为:

y.uint: 9ABC567812340000
Run Code Online (Sandbox Code Playgroud)

这对我来说是违反直觉的(它应该是0000123456789ABC,或123456789ABC).有人可以向我解释为什么结构中的元素似乎被逆转了吗?

编辑:为了将来参考:字节顺序答案让我困惑,因为,uint16_ts以正确的顺序打印.但这当然是因为他们自己存储的是小端.

c memory struct unions

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

列表理解分配/比较在256之后失败

我试图找到切片分配和列表的常规分配之间的性能差异.这是代码:

import time

N =  1000  
a = list(range(N))
b = list(range(N))

time1 = time.time()
for i in range(N):
    a = [x for x in a if x is not i]
time2 = time.time()
for i in range(N):
    b[:] = [x for x in b if x is not i]
time3 = time.time()

print a
print b    
print time2 - time1
print time3 - time2
Run Code Online (Sandbox Code Playgroud)

我的期望是,每个列表ab,这一次删除一个元素,这样print aprint b两个打印空列表.相反,他们似乎总是打印起始列表,但256缺少第一个元素.

他们都打印:

[257, …
Run Code Online (Sandbox Code Playgroud)

python list variable-assignment

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

Python OR列表

在Python中你可以做到

print (0 or None or False or "" or [] or "hello" or None or "bar")
Run Code Online (Sandbox Code Playgroud)

这将打印

hello
Run Code Online (Sandbox Code Playgroud)

你能用清单做同样的事吗?即是否有Python功能,foo以便以下也将打印hello

print (foo([0, None, False, "", [], "hello", None, "bar"]))
Run Code Online (Sandbox Code Playgroud)

请注意,bar不打印.

python list or-operator truthiness

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

LD:链接描述文件中的对齐与子对齐

它们有何不同?

我读到 SUBALIGN() 以某种方式强制进行某种对齐。还有其他区别吗?

什么时候应该使用 ALIGN(),什么时候应该使用 SUBALIGN()?

linker gcc ld memory-alignment sections

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

什么时候需要在 ISR 中使用 volatile?

我正在制作嵌入式固件,初始化后的所有事情都发生在 ISR 中。我有它们之间共享的变量,我想知道在什么情况下它们需要是易失性的。我从不阻塞,等待另一个 ISR 的变化。

在不使用易失性的情况下,什么时候可以确定实际内存已被读取或写入?每个 ISR 一次?

附录:
这是针对 ARM Cortex-M0 的,但这实际上并不是一个关于 ISR 的问题,而是一个关于编译器优化的问题,因此,平台实际上并不重要。

c volatile interrupt-handling

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