小编ibl*_*lue的帖子

如何访问CPU的热传感器?

我正在开发软件,我需要访问CPU中的温度传感器并控制它们.

我不太了解硬件接口; 我只知道如何与鼠标接口.我搜索了很多关于它但没有找到任何相关信息或一段代码.

我真的需要在我的软件中添加它.请指导我如何使用C或C++或ASM控制传感器.

c windows hardware sensor hardware-interface

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

调用错误方法时,"未定义的方法`错误'为nil:NilClass"

我目前正在教自己一些RoR和教程,但添加一些更好的布局和引导程序的东西,我遇到了一个我无法弄清楚的问题.

我正在尝试进行验证部分(http://guides.rubyonrails.org/getting_started.html#adding-some-validation),但是当我使用时:

<% @post.errors.any? %>
Run Code Online (Sandbox Code Playgroud)

我收到这条消息:

undefined method `errors' for nil:NilClass
Extracted source (around line #9):
<legend><h1>Add Post</h1></legend>

<%= form_for :post, url: posts_path, html: {class: 'form-horizontal'} do |f| %>
      <% if @post.errors.any? %>
        <div id="errorExplanation">
Run Code Online (Sandbox Code Playgroud)

什么都行不通,我甚至复制并粘贴了教程中的部分.

以下是视图的代码:

<p> </p>

<div class="span6"

<fieldset>
    <legend><h1>Add Post</h1></legend>

    <%= form_for :post, url: posts_path, html: {class: 'form-horizontal'} do |f| %>
          <% if @post.errors.any? %>
            <div id="errorExplanation">

                <h2><%= pluralize(@post.errors.count, "error") %> prohibited this post from being saved:</h2>

                <ul>
                    <% @post.errors.full_messages.each do |msg| %>
                    <li><%= …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails erb

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

如何增加太字节大小的数字?

当乘以非常大的数字时,可以使用基于FFT的乘法(参见Schönhage-Strassen算法).出于性能原因,我正在缓解旋转因素.问题是对于大量(技嘉大小)我需要大小为2 ^ 30或更多的FFT表,这占用了太多的RAM(16 GB及以上).所以我似乎应该使用另一种算法.

有一个名为y-cruncher的软件,用于计算Pi和其他常数,它们可以乘以太字节大小的数字.它使用称为混合NTT的算法和另一种称为VST的算法(参见VST乘法算法部分中A峰到y-cruncher v0.6.1).

任何人都可以对这些算法或任何其他可用于乘以TB级数字的算法有所了解吗?

c performance arbitrary-precision

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

在C中分配128位整数

当我尝试在gcc 4.9.1中分配128位整数时,我得到一个warning: integer constant is too large for its type.

示例代码

int main(void) {
  __uint128_t p = 47942806932686753431;

  return 0;
}
Run Code Online (Sandbox Code Playgroud)

产量

我正在编译,gcc -std=c11 -o test test.c我得到:

test.c: In function ‘main’:
test.c:2:19: warning: integer constant is too large for its type
   __uint128_t p = 47942806932686753431;
               ^
Run Code Online (Sandbox Code Playgroud)

我做错了什么或者这是gcc中的错误?

c gcc

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

"413请求实体太大"错误导致3.2乘客错误

我有一个使用Rails 3.2.3,Ruby 1.9.3和带有Nginx模块的Phusion Passenger的rails应用程序.App用户需要上传大文件.我将指令添加client_max_body_size 500M;到nginx.conf(下面)中的位置块,并通过使用Ctrl-C来停止并passenger start启动nginx 以停止nginx并重新启动nginx.但是,当我尝试上传127 MB的文件时,我收到错误"413 Request Entity Too Large".有人能让我知道我在俯瞰什么吗?

谢谢,

我的nginx.conf

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    passenger_root /Users/mcmahling/.rvm/gems/ruby-1.9.3-p125/gems/passenger-3.0.12;
    passenger_ruby /Users/mcmahling/.rvm/wrappers/ruby-1.9.3-p125/ruby;
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  165;

    #gzip  on;

    server {
        listen       80; …
Run Code Online (Sandbox Code Playgroud)

passenger nginx ruby-on-rails-3

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

gcc删除内联汇编程序代码

似乎gcc 4.6.2删除了它认为从函数中未使用的代码.

test.c的

int main(void) {
  goto exit;
  handler:
    __asm__ __volatile__("jmp 0x0");
  exit:
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

拆卸 main()

   0x08048404 <+0>:     push   ebp
   0x08048405 <+1>:     mov    ebp,esp
   0x08048407 <+3>:     nop    # <-- This is all whats left of my jmp.
   0x08048408 <+4>:     mov    eax,0x0
   0x0804840d <+9>:     pop    ebp
   0x0804840e <+10>:    ret
Run Code Online (Sandbox Code Playgroud)

编译器选项

没有启用优化,只是gcc -m32 -o test test.c(-m32因为我在64位机器上).

我怎么能阻止这种行为?

编辑:最好通过使用编译器选项,而不是通过修改代码.

c x86 gcc inline-assembly compiler-optimization

17
推荐指数
3
解决办法
2357
查看次数

如何模拟ext3文件系统损坏?

我想模拟文件系统损坏,以便测试我们的嵌入式系统如何对它做出反应,并最终使它们尽可能优雅地失败.我们使用不同类型的块设备模拟闪存存储器来经常修改并且不适合存储在NAND/NOR中的数据.

因为我非常清楚在文件树的不同部分修改数据的频率以及存储敏感数据的位置.我想在特定区域注入错误,而不仅仅是随机.

在紧急情况下,我们将其fsck -y用作最后的手段,以便尝试启动系统并报告处于非常糟糕的状态.我非常希望引发错误,这些错误会触发fsck尝试修复,以便研究对系统恢复能力的影响.

dd if=/dev/random因为它不能轻易用于注入受控错误,所以对我的目的来说不够精确.还有其他工具或方法可以更好地满足我的需求,还是我必须创造自己的?

linux filesystems testing fault-tolerance ext3

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

PHP中的Mysql - 如何只更新表中的一行但具有最大的id号

我正在尝试更新我的数据库中的字段,但遇到了这样一个简单的问题:我想更新表中最大id号的一行.我会做那样的事情:

UPDATE table SET name='test_name' WHERE id = max(id)
Run Code Online (Sandbox Code Playgroud)

不幸的是它不起作用.有任何想法吗?

表结构

id | name
---|------
 1 | ghost
 2 | fox
 3 | ghost
Run Code Online (Sandbox Code Playgroud)

我想只更新最后一行,因为ID号是最好的.

php mysql max

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

是否可以通过软件永久损坏硬件?

我刚读过这个问题:这段代码会损坏我的处理器吗?这让我想到了.

是否有可能仅通过软件损坏硬件?我听说"在过去的好时光"(TM)中,当硬盘驱动器由软件控制时,它们可能会碰到中心主轴,这会永久地损坏驱动器.

还有臭名昭着的切尔诺贝利病毒刚刚杀死BIOS并使机器无用,直到有人重新扫描它.

并且有微码更新,可以闪存到CPU(我不太了解它们).

但今天这还有可能吗?你能用软件破坏硬件吗?执行hcf(Halt&Catch fire)指令?通过增加WLAN输出功率烧烤猫?

hardware assembly

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

Coffee HAML(.hamlc)中的部分内容

我在带有HAML Coffee的rails后端使用backbone.js ,这是由haml_coffee_assets编译的.我的模板中有一些重复.

有没有办法创建类似rails的部分来干涸我的模板?

另外:我可以content_for(:something)在咖啡HAML中做吗?

haml ruby-on-rails coffeescript backbone.js jst

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