小编Jon*_*age的帖子

对于64位Windows,libusb-win32是否可以替代?

我一直在开发一些软件,该软件使用libusb-win32库与我一直在开发的某些USB硬件进行交互。现在,我试图在Windows 64上运行相同的软件,但驱动程序似乎无法正常工作(可以理解)。

我忽略了64位Windows的替代方案吗?

c++ windows 64-bit driver libusb

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

如何将 GIT 调用的输出获取到批处理脚本中的变量中?

我有一个 git 命令来获取当前存储库的最新 SHA,如下所示:

git log --pretty=format:"%H" -n 1
Run Code Online (Sandbox Code Playgroud)

我有一个 Windows 批处理脚本,我想按如下方式使用它:

SET CURRENT_SHA=???
Run Code Online (Sandbox Code Playgroud)

但我不知道如何将从 git 调用的输出获取到变量中,以便我可以使用它。

编辑

我尝试了以下方法(这似乎是我在这里和其他地方读到的一般建议):

SETLOCAL ENABLEDELAYEDEXPANSION
FOR /F "tokens=* USEBACKQ" %%i IN (`git log --pretty=format:"%H" -n 1`) DO (SET CURRENT_SHA=%%i)
ECHO Current Sha: %CURRENT_SHA%
Run Code Online (Sandbox Code Playgroud)

..但我得到:

fatal: failed to stat 'format:i) ECHO Current Sha: 48bce83e800b96607afb2a387c4fcd7b0b0f037e
Run Code Online (Sandbox Code Playgroud)

那么引号可能有问题吗?

windows git batch-file

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

如何重定向Tornado/VXWorks shell输出?

我最近一直在使用Tornado 2中的shell进行嵌入式C/C++项目,以调试我们的工具包中正在进行的操作.这种方法的唯一问题是它是一个复杂的系统,因此具有相当多的输出.每当有一些新信息到达时,龙卷风"帮助"滚动窗口,这意味着如果你发现错误,它就会在网站上消失得太快而无法看到.每次向上滚动查看时,系统都会添加更多信息,因此查看它的唯一方法是断开硬件连接.

我想知道是否有人有办法重新定向龙卷风的输出?

我希望有一种方法可以从一个小的python应用程序记录所有内容,以便我可以对传入的信息应用过滤器.我已经尝试连接到Tornado进程,但是带有信息的窗口不是标准的CEditCtrl,因此以这种方式提取文本是一个死胡同.

任何人的想法?

[编辑]我应该提到我们只运行Tornado 2.1.0并升级到更新版本是我无法控制的.

[Edit2]根据WinID,Tornado中的窗口是'AfxFrameOrView42'.

embedded shell redirect vxworks

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

将类实例强制转换为子类

我正在使用boto来管理一些EC2实例.它提供了一个Instance类.我想将其子类化以满足我的特殊需求.由于boto提供了一个查询接口来获取你的实例,我需要在类之间进行转换.这个解决方案似乎有效,但改变class属性似乎很狡猾.有没有更好的办法?

from boto.ec2.instance import Instance as _Instance

class Instance(_Instance):
    @classmethod
    def from_instance(cls, instance):
        instance.__class__ = cls
        # set other attributes that this subclass cares about
        return instance
Run Code Online (Sandbox Code Playgroud)

python class subclass boto

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

如何在C++中使用MethodInvoker?

我有一个C++/CLI应用程序,它有一个后台线程.我经常希望将结果发布到主GUI.我已经在其他地方读过,因为MethodInvoker可以为此工作,但我很难将语法从C#转换为C++:

    void UpdateProcessorTemperatures(array<float>^ temperatures)
    {
        MethodInvoker^ action = delegate
        {
            const int numOfTemps = temperatures->Length;
            if( numOfTemps > 0 ) { m_txtProcessor2Temperature->Text = temperatures[0]; } else { m_txtProcessor2Temperature->Text = "N/A"; }
            if( numOfTemps > 1 ) { m_txtProcessor2Temperature->Text = temperatures[1]; } else { m_txtProcessor2Temperature->Text = "N/A"; }
            if( numOfTemps > 2 ) { m_txtProcessor2Temperature->Text = temperatures[2]; } else { m_txtProcessor2Temperature->Text = "N/A"; }
            if( numOfTemps > 3 ) { m_txtProcessor2Temperature->Text = temperatures[3]; } else { m_txtProcessor2Temperature->Text …
Run Code Online (Sandbox Code Playgroud)

.net user-interface porting c++-cli backgroundworker

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

为什么 Graphics::DrawImage 不能按预期拉伸图像?

我正在制作一个重载TableLayoutPanel,它绘制了一些花哨的边框,但由于某种原因,调用Graphics::DrawImage没有按预期工作。当我拉伸它时,它似乎淡出我的 1x10 像素源图像:

替代文字

这是进行渲染的函数:

void GTableLayoutPanel::RenderSides(Graphics^ g, array<Drawing::Image^>^ sideImages)
{
    if( sideImages )
    {
        if( sideImages->Length < 4 )
        {
            throw gcnew System::ArgumentException(String::Format("Not enough images supplied to render sides (expected 4 but only got {0})", sideImages->Length));
        }

        int borderSize = sideImages[0]->Height;
        g->DrawImage(sideImages[0], Rectangle(borderSize, 0, this->Width-borderSize*2, borderSize));
        g->DrawImage(sideImages[1], Rectangle(this->Width-borderSize, borderSize, borderSize, this->Height-borderSize*2));
        g->DrawImage(sideImages[2], Rectangle(borderSize, this->Height-borderSize, this->Width-borderSize*2, borderSize));
        g->DrawImage(sideImages[3], Rectangle(0, borderSize, borderSize, this->Height-borderSize*2));
    }
}
Run Code Online (Sandbox Code Playgroud)

.net windows c++-cli drawimage winforms

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

线程无一例外地死去

我的一些工作线程存在问题.我在线程的run方法中添加了一个catchall异常语句,如下所示:

 try:
        """Runs the worker process, which is a state machine"""
        while self._set_exitcode is None :
            assert self._state in Worker.STATES
            state_methodname = "_state_%s" % self._state
            assert hasattr(self, state_methodname)
            state_method = getattr(self, state_methodname)
            self._state = state_method() # execute method for current state

        self._stop_heartbeat()
        sys.exit( self._set_exitcode )
 except:

        self.log.debug(sys.exc_info())
Run Code Online (Sandbox Code Playgroud)

我读到这是捕获可能导致问题而不是使用的所有内容的事实方法Exception, e.由于这种方法,我发现了一些很小的错误,但我的问题是工人们仍在死亡,我不知道如何进一步记录正在发生的事情或排除故障.

任何想法将不胜感激.

谢谢!

python multithreading

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

寻找比GDI更快的解决方案来渲染动态数据图

我使用C++/CLI编写了一个简单的基于GDI的数据绘图仪,但它并不是特别快(一些基本的分析表明它是屏幕渲染的问题).

有没有办法为UserControl启用硬件加速,还是有直接3D的.net接口?......还是有其他一些我可以考虑的选择.

我们正在使用托管代码,因此如果可能的话,解决方案确实需要与CLI兼容.

[编辑]如果它有帮助,我正在使用矩形(每个2x2像素)渲染条带(128个数据点)Graphics::FillRectangle- 也许有更好的方法吗?

.net plot gdi+ direct3d c++-cli

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

如何在运行时检索#pragma 注释数据?

今天晚上我在 MSDN 上看到了一个讨论#pragma选项的部分。具体来说,#pragma comment定义。

是否可以在运行时提取该信息(例如,确定某些源代码是在哪台机器上生成的)?如果是这样,如何?

例如,如果要添加以下内容,如何检索编译日期#pragma

pragma comment( user, "Compiled on " __DATE__ " at " __TIME__ ) 
Run Code Online (Sandbox Code Playgroud)

c++ comments pragma visual-studio-2008 visual-c++

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

"System.Net.Mail.SmtpClient"需要将"SmtpClient.EnableSsl"设置为true的端口是什么?

正如标题所说,"System :: Net :: Mail :: SmtpClient"需要将'SmtpClient :: EnableSsl'设置为true的端口是什么?

上的文档EnableSsl属性说的替代连接方法的默认端口是465,但没有提到什么它所使用的连接类型支持.

编辑 - 如果它有所不同,我在这个例子中连接到Gmail,但欢迎通用答案.

port smtpclient

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