小编Jos*_*hua的帖子

为什么这个程序有时会崩溃,有时候不会崩溃?

以下程序关闭显示器.它有时会在我运行时崩溃,有时则不然.反汇编只是指向一个随机位置0x00011000,并且没有真实的信息.

如果我重新编译程序并运行它,重新编译的版本运行正常,而我正在测试它.但是下次我真的需要使用它时,它会再次崩溃,我需要重新编译它...让我后悔做这件事.

我不知道如何一致地重现错误.(也就是说,除了在最迫切需要它并且看着它崩溃时运行它.)

什么可能导致该程序中的随机崩溃?

#include <Windows.h>
#include <tchar.h>

int WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
{
    return SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, 2);
}
Run Code Online (Sandbox Code Playgroud)

我正在使用Windows 7 x64,并将其编译为32位程序.我相信我已经尝试了64位同样的东西,并得到了相同的结果,虽然我不是100%肯定.


编辑1:

  • 如果有人真的复制了这个,请发表评论让我知道,我很好奇其他人是否可以重现这一点.

  • 我目前正在测试一个稍微修剪一下的版本(它不依赖于C运行时):

    #include <Windows.h>
    #pragma comment(linker, "/NoDefaultLib")
    #pragma comment(linker, "/Entry:mainCRTStartup")
    #pragma comment(linker, "/Subsystem:Windows")
    
    int mainCRTStartup()
    {
        return SendMessageW(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, 2);
    }
    
    /*
    Base64 version of this program, in case you want to use it:
    TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1vZGUuDQ0KJAAAAAAAAAABkN3fRfGzjEXxs4xF8bOMhv7ujEbxs4xF8bKMRPGzjIb+0IxE8bOMhv7pjETxs4xSaWNoRfGzjAAAAAAAAAAAUEUAAEwBAQBYIgROAAAAAAAAAADgAA8BCwEHCgACAAAAAAAAAAAAAAgQAAAAEAAAACAAAAAAQAAAEAAAAAIAAAQAAAAAAAAABAAAAAAAAAAAIAAAAAIAAAAAAAACAAAEAAAQAAAQAAAAABAAABAAAAAAAAAQAAAAAAAAAAAAAAAoEAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAudGV4dAAAAHQAAAAAEAAAAAIAAAACAAAAAAAAAAAAAAAAAAAgAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYEAAAAAAAAGoCaHDxAABoEgEAAGj//wAA/xUAEEAA99gbwPfYw8zMUBAAAAAAAAAAAAAAaBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFgQAAAAAAAAQgJTZW5kTWVzc2FnZVcAAFVTRVIzMi5kbGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
    */
    
    Run Code Online (Sandbox Code Playgroud)

    目前,这个版本有效...但是,当我重新编译它时,前一个版本也是如此.如果事实证明这个没有崩溃,我会在这里发布.

  • 如果您想重现这一点,我的建议是:编译程序,让它腌制一两天.:)当您使用计算机一段时间后,尝试运行该程序几次...当我尝试时,我通常会收到错误,直到我重新编译程序.


编辑2:

出于某种原因,每当你想向人们展示问题时,它就会神奇地得到解决.在这里同样的情况.我将继续尝试重现错误,但此刻,似乎工作正常.:\(我怀疑它可能是因为安装了Windows 7 SP1,但我真的很怀疑......如果我发现我会发布在这里.)

对不起这个人... …

winapi sendmessage

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

如何在mysql中加权'ORDER BY'?

我有一个全文查询,以:

 ORDER BY RELEVANCE DESC, CLICK_RATE DESC
Run Code Online (Sandbox Code Playgroud)

我能否按顺序给订单加权?也许order by到的相关性和0.30.7

就像现在的情况一样,即使我改变它们,结果也不尽如人意.

作为替代方案,如何将最高click_rate结果排序,3其余按相关性排序.

mysql sql sql-order-by

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

OpenCV用另一个值替换特定的像素值

我想在图像中检测特定像素值(假设无符号8位1通道图像中的128),cv::Mat并将具有该特定值的所有像素的值替换为另一个值(用120替换每个128).有没有有效的方法呢?或者我应该逐像素地执行搜索和断言操作?

我开始编码但无法完成.这是我的代码的一部分:

cv::Mat source; 
unsigned oldValue = 128;
unsigned newValue = 120;

cv::Mat temp = (source == oldValue);
Run Code Online (Sandbox Code Playgroud)

c++ opencv replace pixel colors

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

R - 计算每列中某些值的数量

我发现了与我类似的问题,但没有一个解释如何为数据框的每一列执行此操作。

我有一个这样的数据框:

x1 = seq(12, 200, length=20)
x2 = seq(50, 120, length=20)
x3 = seq(40, 250, length=20)
x4 = seq(100,130, length=20)
x5 = seq(10, 300, length=20) 

df = data.frame(V1=x1, V2=x2, V3=x3, V4=x4, V5=x5) 
Run Code Online (Sandbox Code Playgroud)

现在我想获取每列大于 120 的值的数量。

我试过了:

nrow(df[,1] >120)
Run Code Online (Sandbox Code Playgroud)

那没有用,它说 0,但它不是真的,而且我想自动完成所有列。

row r predicate aggregate-functions dataframe

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

Kivy-在另一个屏幕上更改滑块类的值

我有一个滑块,该滑块的值会更改标签。这很容易理解。现在的问题是我想使用此值在另一个屏幕上显示。最终,我希望滑块在另一个屏幕上显示1-16张图像,具体取决于滑块上选择的值。以下是我目前的情况,该屏幕在该屏幕上效果很好,但是如何获取此值以显示在另一个屏幕上?我知道我必须创建一个类,该类已经进行了多次尝试,并且每次尝试都让我感到困惑,而不是更好地理解它。

<NewGameScreen>:
    name: 'newgame'
    BoxLayout:
        orientation: 'vertical'
        height: 100       

        Label:
            text: 'New Game'
            font_size: 70
                Label:
                    text: 'Players'
                    font_size: 30
                    pos: 300, 400

                Slider:
                    id: s1
                    pos: 420, 400
                    width: '250dp'
                    min: 1
                    max: 16
                    step: 1
                    value: 1
                    on_value: s1.value = self.value

                Label:
                    text: '{}'.format(s1.value)
                    font_size: 30
                    pos: 670, 400
Run Code Online (Sandbox Code Playgroud)

bind class slider kivy

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

从jquery数组对象php设置值?

我通过ajax获取特定的产品项列表,方法是将它们的唯一ID传递给服务器.现在每个产品都有自己的一组属性,我必须在页面上显示产品图像.当我通过jquery设置值时,只打印了数组中的最后一个值.以下是我的编码文件.

images.php

while($fetch = mysql_fetch_array($result))
      {
      ?>

      <div class="col-sm-4">
       <div class="thumbnail">

        <a class="productitemid" href="productpurchase.php?id=<?php echo $fetch['itemID'];?>"><img class="img-responsive productimage" src="uploadedfiles\<?php echo $fetch['imageURL'];?>" alt="<?php echo $fetch['imageURL'];?>" /></a>

        <div class="text-center productitemname" style="font-weight:bold;"><?php echo $fetch['itemName']; ?></div>
        <div class="badge col-sm-offset-1 productprice"><?php echo $fetch['price']; ?></div>
        <span class="col-md-offset-7"><a class="productitemid btn btn-success" href="productpurchase.php?id=<?php echo $fetch['itemID'];?>">BUY</a></span>

       </div>
      </div>
      <?php
      }
Run Code Online (Sandbox Code Playgroud)

js文件

$(document).ready(function(){
  $('.menProdCatgry').on('click',function(){
   $.ajax({
    type: "post",
    url: "getselectedproducts.php",
    data:{
     "prodId" : $('.menProdCatgry').attr('prodCatId')
    },
    dataType: "json",
    success: function(data){
     console.log(data);
     $.each(data, function(){
     var getprodId = this.prodId;
     var getimageURL = this.imageURL;
     var …
Run Code Online (Sandbox Code Playgroud)

php arrays jquery dom dynamic-html

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

PHPEXCEL获取格式化日期,在excel文件中可见

我正在尝试使用PhpExcel lib为该getValue()函数的所有其他字段导入excel文件但是当遇到ms-excel2013中设置的格式日期的字段时,exel文件中的日期字段格式为dmY,16-11-2014 但是当我尝试导入时它的值是getValue()返回的11-16-14结果,strtotime进而进一步returns false导致date('Y-m-d',strtotime($date))返回1970-01-01.

我搜索了整个web和stackoverflow但没有解决方案解决了我的问题.在excel文件中,我将日期视为16-11-2014并希望按原样导入.

这是代码

protected function importExcel($filePath) {
    $excelData = array();
    if ($filePath) {
        $objPHPExcel = PHPExcel_IOFactory::load($filePath);
        $objPHPExcel->setReadDataOnly(true);
        foreach ($objPHPExcel->getWorksheetIterator() as $worksheet) {
            $worksheetTitle = $worksheet->getTitle();
            $highestRow = $worksheet->getHighestRow(); // e.g. 10
            $highestColumn = $worksheet->getHighestColumn(); // e.g 'F'
            $highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn);
            $nrColumns = ord($highestColumn) - 64;
            $data = array();
            for ($row = 1; $row <= $highestRow; ++$row) {
                $values = array(); …
Run Code Online (Sandbox Code Playgroud)

php phpexcel

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

fork()之后的地址,值和指针会发生什么

我正在研究一个问题,我fork()在C语言调用之前和之后检查值和地址.我的方法是显示变量值和地址,假设看到后面的地址有差异fork().令我惊讶的是,所说的变量仍然是相同的.

我的问题是他们为什么一样?如果我改变孩子的变量会怎么样?父母和孩子都会改变吗?如果没有,我如何能够更改该地址中的值,而父地址和子地址的地址相同.

代码(供参考):

#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/wait.h>

int main()
{
  int status;
  pid_t pid;

  int a = 123456;
  float b = 123.456;
  char c = 'Z';
  int *e;
  e=&a;

  //Retriving address's
  void *ap=&a, *bp=&b, *cp=&c, *ep=&e;

    printf("Parent Before Fork:\n");
    printf("Integer a: \tvalue = %d, \taddress = %p\n", a, ap);
    printf("Float b: \tvalue = %f, \taddress = %p\n", b, bp);
    printf("Char c: \tvalue = %c, \t\taddress = %p\n", c, cp);
    printf("Pointer e: \tvalue …
Run Code Online (Sandbox Code Playgroud)

c fork parent-child virtual-memory memory-address

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

为什么Ruby Koans练习的about_hashes.rb中的test_default_value_is_the_same_object具有数组的答案?

我正在进行ruby koans练习,并且在test_default_value_is_the_same_object方法练习中为什么答案是这样的,我有点困惑.以下是代码:

def test_default_value_is_the_same_object
hash = Hash.new([])

hash[:one] << "uno"
hash[:two] << "dos"

assert_equal ["uno", "dos"], hash[:one]
assert_equal ["uno", "dos"], hash[:two]
assert_equal ["uno", "dos"], hash[:three]
end
Run Code Online (Sandbox Code Playgroud)

我不确定为什么无论键是什么,值总是"uno"和"dos"?我以为当键是one,返回的值应该是"uno"; 当key为"two"时,返回的值应为"dos".为什么不管键是什么,值总是一个数组?

谢谢,我期待着你的回答!

ruby arrays hash key key-value

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

Google Spreadsheet两种方式都无限范围

因此,如果我想在B26下方的B列中添加每个数字,则可以使用以下代码:

=SUM(B26:B)
Run Code Online (Sandbox Code Playgroud)

如果要在B26,C26,D26以下添加每个数字,则可以使用以下代码:

=SUM(B26:D)
Run Code Online (Sandbox Code Playgroud)

但是,如果我想在B26下方和旁边添加每个数字,该怎么办?我的意思是这样的:

=SUM(B26:infinte)
=SUM(B26:last column containing data)
Run Code Online (Sandbox Code Playgroud)

我想要的是制作自己的电子表格,该表格可以自动计算ANOVA。如果我从B26开始复制具有X行和Y行的数据,则无论它有多少行和多少列,它都应该工作。通过添加无限行可以解决,SUM(B26:B)但是如何添加所有列呢?

range aggregate-functions google-sheets

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