小编0x9*_*x90的帖子

为什么我不能在代码中关闭窗口句柄?

我的主要是这两条线,但最后我无法关闭手柄.我试图获得一个窗口矿井weeper的句柄,然后关闭它,但它不起作用.而且我有我需要的所有相关内容.

#include <windows.h>
#include <stdio.h>
Run Code Online (Sandbox Code Playgroud)

在主要

HWND wh = FindWindow("Minesweeper", "Minesweeper");
CloseHandle (wh);
Run Code Online (Sandbox Code Playgroud)

printfwh我看到的价值等同于本次募集间谍++.

我收到了错误

"异常地址:0x7c90e4ff"

我错过了什么?

顺便说一下:如果我改变上面的两行,关闭一个进程的句柄就可以了.

c winapi

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

监控linux内核中上下文切换次数的最有效方法是什么?

我希望得到以下的总统计数据:

  1. 有多少softirq发生?
  2. 有多少interrupts发生?
  3. 有多少context switches发生?

我知道你可以使用pidstat,cat /proc/interrupts/cat/proc/softirqs.但使用它们的开销太大了.

  • 如何在{1-3}不使用/proc最快速的情况下获得底线值?

  • 我可以使用ftrace帮助我跟踪事件吗?

我将使用高分辨率计时器来监控系统:

c profiling arm linux-kernel embedded-linux

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

为什么第一个客户端看到源IP为0.0.0.0?

client.c server.c在Linux上有一个.在我初始化套接字:

sockfd = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)
Run Code Online (Sandbox Code Playgroud)

在我添加的服务器中:

listen_addr.sin_family = AF_INET;
listen_addr.sin_port = htons(port);
listen_adrr.sin_addr.s_addr = htonl(INADDR_ANY);
Run Code Online (Sandbox Code Playgroud)

server.c呼叫(阻塞方式)来recvform:

if (recvfrom(sockfd, buf_get, BUFLEN, 0, (struct sockaddr*)&talker_addr, &slen) == -1)
            err("recvfrom()");
Run Code Online (Sandbox Code Playgroud)

client.c发送包:

if (sendto(sockfd, buf_sent, BUFLEN, 0, (struct sockaddr*)&serv_addr, slen) == -1)
        err("sendto()");
Run Code Online (Sandbox Code Playgroud)
  1. 问题是,在第一次调用sendto来自 client.c服务器时,服务器将客户端的ip视为0.0.0.0,之后在第二个,第三个调用,...调用client.cget a ip并拥有合法的IP,如127.0.0.3:3212.
  2. 另一个奇怪的事情是,如果我启动第二个新客户端,它将从第一次获取IP.

c sockets linux udp

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

如何保护isr和常规函数共享的全局变量?

假设我有function 1一个isr routine,它们共享并更新相同的标志,它们之间没有任何锁定.系统是单线程的.

while将是一个3臂汇编指令,这意味着它不是原子操作,是否可以在非isr和isr函数之间共享一个全局变量而没有任何锁定或保护?

功能1:

while (flag == false);
flag = false;
Run Code Online (Sandbox Code Playgroud)

常规:

do something
flag=true
Run Code Online (Sandbox Code Playgroud)

我不记得有一个Linux内核机制用于锁定可睡眠和非可睡眠的上下文,例如irqkernel thread.


谢谢@artless的答案,这里有一些我不确定的问题:

  1. 有没有办法我不会错过中断?

  2. 内存障碍如何解决问题,当代码在单个cpu上运行时它是否有效?

  3. 在不同情境之间使用障碍时的预期行为是什么?

  4. 能在一段时间内睡觉loop可以解决同步问题吗?

c assembly mutex arm semaphore

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

如何禁用挂钩到我的进程?

在Windows 7和Visual Studio下是否有任何调试/预先存在的参数或任何选项,以防止其他进程挂钩到我的进程?

我在Visual Studio下为Windows编写游戏,并想知道是否有办法禁止用户挂钩游戏进程?

c# winapi visual-studio

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

什么是python中的导入gv?

easy_install在windows下安装并安装pygraph但是import gv这里取的示例中的commad 不起作用:

什么是gv lib?是什么import gv呢?

我收到此错误:

Traceback (most recent call last):
  File "C:\Python27\graph.py", line 11, in <module>
    import gv
ImportError: No module named gv
Run Code Online (Sandbox Code Playgroud)

所有其他进口工作正常

python python-2.7

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

如何使用VBA刷新单元格?

我尝试了 Stack Overflow 中的各种解决方案(如何通过 VBA 刷新所有单元格让 Excel 从 VBA 内刷新工作表上的数据)来刷新 Excel VBA 中的单元格,但在 Excel 2010 中没有成功。

这些方法包括切换活动工作表的计算状态(ActiveSheet.EnableCalculation = False后跟ActiveSheet.EnableCalculation = True)以及使用Application.CalculateApplication.CalculateFull

不幸的是,没有一个奏效。有趣的是,通过右键单击手动刷新单元格效果很好。但是,尝试以编程方式刷新单元Sheets("Name_of_sheet").Range("D424").Refresh格会触发异常 438。

问题:

  1. 如何调整 VBA 脚本以使其在 Excel 2003、2007 和 2010 中工作?
  2. 如何以编程方式选择源文件来刷新数据?

编辑:

  • 我的主要目标是复制右键单击“工作表 3”中的单元格以刷新它的手动过程,特别是自动选择 .txt 文件作为源。
  • 我正在使用的 Excel 文件是十年前创建的。在 Excel 2010 中,通过右键单击并选择 .txt 文件来手动刷新单元格。我希望在 VBA 中自动执行此操作。

excel vba

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

如何将curl中的POST请求转换为ruby?

我有这个post 请求

curl -i -X POST \
   -H "Accept:application/json" \
   -H "content-type:application/x-www-form-urlencoded" \
   -d "disambiguator=Document&confidence=-1&support=-1&text=President%20Obama%20called%20Wednesday%20on%20Congress%20to%20extend%20a%20tax%20break%20for%20students%20included%20in%20last%20year%27s%20economic%20stimulus%20package" \
   http://spotlight.dbpedia.org/dev/rest/annotate/
Run Code Online (Sandbox Code Playgroud)

我怎样才能用红宝石写它?我按照凯尔的建议尝试了这个:

require 'rubygems'
require 'net/http'
require 'uri'

uri = URI.parse('http://spotlight.dbpedia.org/rest/annotate')

http = Net::HTTP.new(uri.host, uri.port)

request = Net::HTTP::Post.new(uri.request_uri)
request.set_form_data({
                      "disambiguator" => "Document",
                      "confidence"    => "0.3",
                      "support"       => "0",
                      "text"          => "President Obama called Wednesday on Congress to extend a tax break for students included in last year's economic stimulus package"
                      })

request.add_field("Accept", "application/json")
request.add_field("Content-Type", "application/x-www-form-urlencoded")

response = http.request(request)
puts response.inspect
Run Code Online (Sandbox Code Playgroud)

但得到这个错误:

#<Net::HTTPInternalServerError …
Run Code Online (Sandbox Code Playgroud)

ruby post curl ruby-on-rails http

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

操作系统导致的irq延迟是多少?

  • 如何估计ARM处理器的irq延迟?
  • irq延迟的定义是什么?

c linux arm irq linux-kernel

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

使用按位移位操作进行符号扩展

问答后,我试着检查答案,所以我写道:

#include <stdio.h>

int main ()
{

        int t;int i;
        for (i=120;i<140;i++){
                t = (i - 128) >> 31;
                printf ("t = %X , i-128 = %X ,  ~t & i = %X , ~t = %X \n", t, i-128 , (~t &i), ~t);
        }

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

输出是:

t = FFFFFFFF , i-128 = FFFFFFF8 ,  ~t & i = 0 , ~t = 0 
t = FFFFFFFF , i-128 = FFFFFFF9 ,  ~t & i = …
Run Code Online (Sandbox Code Playgroud)

c c++ bit-manipulation

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