Tag: 硬件

如何找出设备是否有振动器?

我有一个设备,我不知道它是否有一个振动器。 有没有办法来查询振动器的可用性?

你如何备份你的开发机器?

您如何备份您的开发机器,以便在发生灾难性硬件故障的情况下,尽可能以最less的时间启动并运行?

什么是你见过或做过的最酷的黑客?

作为程序员,我们都把一个非常酷的程序放在一起,或者以一种有趣的方式拼凑一些硬件来解决问题。 今天,我正在考虑那些黑客行为,以及他们中的一些如何被现代技术所废弃(例如,你不再需要破解你的Tivo来添加一个networking端口)。 在软件世界里,我们把网页上的东西拖放到现在是理所当然的,但是不久之前这也是一个非常令人兴奋的黑客攻击。 我见过的最恶劣的硬件攻击之一是几年前在一家电信公司的一位前同事完成的。 他在办公室里有一台小型的便携式电视机,他一整天都在看电视。 为了摆脱这种危险,他把一个开关连接到了桌子底下的脚下。 什么是你亲自看到或完成的最酷的硬件或软件破解? 你现在在干什么?

将C ++指针看作内存地址在多大程度上是可以接受的?

当你学习C ++时,或者至less当我通过C ++ Primer学到C ++时 ,指针被称为它们指向的元素的“内存地址”。 我想知道这在多大程度上是真的。 例如,两个元素*p1和*p2是否具有属性p2 = p1 + 1或p1 = p2 + 1 当且仅当它们在物理内存中是相邻的?

很酷的硬件/设备,可以在.NET中编程?

我很想开始写外部设备和传感器的托pipe代码。 是否有任何可以用.NET编码的设备? 有什么build议么? 编辑:我想要做的主要事情是学习设备编程如何工作。 在我看来,没有比这样做更好的办法,而不是尝试做一些有趣而酷的事情。

为什么写内存要比读内存慢得多?

这是一个简单的memset带宽基准: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> int main() { unsigned long n, r, i; unsigned char *p; clock_t c0, c1; double elapsed; n = 1000 * 1000 * 1000; /* GB */ r = 100; /* repeat */ p = calloc(n, 1); c0 = clock(); for(i = 0; i < r; ++i) […]

我应该如何开始编写设备驱动程序?

我想学习如何编写设备驱动程序,因为我认为这将是有趣的。 我使用Mac OS X Macbook,但是我也有一台Ubuntu机器(在Mac Min上运行)。 我对C很熟悉,现在正在阅读这本书 。 我在网上find了一些链接,例如Mac开发中心 。 我这样做是因为它会很有趣。 我认为,由于我写的软件,看到硬件运行会有真正的满足感。 我想我想要的是一些提示或build议和指导,有没有人知道没有驱动程序的设备列表,或者我可以写一个已经支持的东西的驱动程序(宁愿前者,所以我实际上提供价值)。 什么是一个好的开始使用的设备? 我咬的比我嚼的还多? 我并不害怕低级别的编程或汇编,也不需要花费大量的精力。 我真的很想挑战!

为什么比特数总是(?)是2的幂?

我们有8位,16位,32位和64位的硬件架构和操作系统。 但不是,比如42位或者69位。 为什么? 2 ^ n位是一个更好的select,还是与现有系统兼容? (一个64位寄存器可以容纳两个32位指针,或者一个32位数据单元可以容纳4个字节,显然很方便)。

CUDA vs FPGA?

我正在开发一个重型3Dgraphics计算产品, 在很大程度上是最接近的点和范围search 。 一些硬件优化将是有用的。 虽然我对此知之甚less,但我的老板(谁没有软件经验)主张FPGA(因为它可以量身定制),而我们的初级开发者则主张使用CUDA的GPGPU,因为它便宜,热和开放。 虽然我觉得我在这个问题上缺乏判断力,但我相信CUDA也是因为我担心灵活性而走的路,我们的产品还处于强劲的发展之中。 因此,改写这个问题,是否有任何理由去FPGA? 还是有第三个select?

字和字节有什么区别?

我做了一些研究。 一个字节是8位,一个字是可以在存储器上寻址的最小单位。 一个字的确切长度是变化的。 我不明白的是有一个字节是什么意思? 为什么不说8位? 我问了一个教授这个问题,他说现在大多数机器都是可以字节寻址的,但是这会产生什么呢?