小编Art*_*hur的帖子

如何设置要运行的Boost单元测试

我正在尝试使用升压测试,特别是升压单元测试.

我显然不明白主要函数是如何生成和调用的,所有教程都说是定义一个模块并编写一个测试

#define BOOST_TEST_MODULE EnfTraderTest

BOOST_AUTO_TEST_CASE(CalculateExpectedPriceTest){BOOST_ERROR("Oops");}

但是,我怎么说我的程序运行这个测试?我已经有了main函数,我想从我的main函数决定是否运行测试.

c++ unit-testing program-entry-point boost-test

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

如何在C ++中使用tagDEC(DECIMAL类型)?

我使用返回Windows DECIMAL类型的API。

我需要转换它,我需要的信息是:

  • 小数位数
  • 价值本身

例如,如果我的数字是1.234,我想得到0.01(2,1)等于10(0,10)等于(3,1234)。如何从tagDec对象提取此信息?

谢谢

c++ windows decimal

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

C++中的forsee std :: bad_alloc

据我所知,当程序内存不足时,会触发C++中的std :: bad_alloc异常.有没有办法监控剩余的内存量,并在我们到达不归路之前触发特殊程序?

c++

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

HttpClient不可序列化异常

我正在尝试实施一个基本的1喷口 - 1螺栓风暴拓扑.我有一个Storm Bolt使用Apache HttpClient(4.3.1)发出HTTP请求.但是,当我运行它时,我得到以下异常:

[main] ERROR org.apache.zookeeper.server.NIOServerCnxn  - Thread Thread[main,5,main] died
java.lang.RuntimeException: java.io.NotSerializableException: org.apache.http.impl.client.InternalHttpClient
    at backtype.storm.utils.Utils.serialize(Utils.java:56)
    at backtype.storm.topology.TopologyBuilder.createTopology(TopologyBuilder.java:89)
    at app.storm.StormTopology.main(StormTopology.java:26)
Caused by: java.io.NotSerializableException: org.apache.http.impl.client.InternalHttpClient
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1183)
    at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1547)
    at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1508)
    at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1431)
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1177)
    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347)
    at backtype.storm.utils.Utils.serialize(Utils.java:52)
    ... 2 more 
Run Code Online (Sandbox Code Playgroud)

有人见过这个吗?我知道Storm本身在内部使用HTTP Client(4.1.1).我试图用4.3.1版本替换内部库,我又得到了一个错误:

Exception in thread "main" java.lang.NoSuchFieldError: INSTANCE
    at org.apache.http.impl.io.DefaultHttpRequestWriterFactory.<init>(DefaultHttpRequestWriterFactory.java:52)
    at org.apache.http.impl.io.DefaultHttpRequestWriterFactory.<init>(DefaultHttpRequestWriterFactory.java:56)
    at org.apache.http.impl.io.DefaultHttpRequestWriterFactory.<clinit>(DefaultHttpRequestWriterFactory.java:46)
    at org.apache.http.impl.conn.ManagedHttpClientConnectionFactory.<init>(ManagedHttpClientConnectionFactory.java:72)
    at org.apache.http.impl.conn.ManagedHttpClientConnectionFactory.<init>(ManagedHttpClientConnectionFactory.java:84)
    at org.apache.http.impl.conn.ManagedHttpClientConnectionFactory.<clinit>(ManagedHttpClientConnectionFactory.java:59)
    at org.apache.http.impl.conn.PoolingHttpClientConnectionManager$InternalConnectionFactory.<init>(PoolingHttpClientConnectionManager.java:487)
    at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.<init>(PoolingHttpClientConnectionManager.java:147)
    at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.<init>(PoolingHttpClientConnectionManager.java:136)
    at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.<init>(PoolingHttpClientConnectionManager.java:112)
    at org.apache.http.impl.client.HttpClientBuilder.build(HttpClientBuilder.java:727)
    at org.apache.http.impl.client.HttpClients.createDefault(HttpClients.java:58)
    at app.storm.bolts.DataFetcherBolt.<init>(DataFetcherBolt.java:34)
    at app.storm.StormTopology.main(StormTopology.java:18)
Run Code Online (Sandbox Code Playgroud)

apache-httpclient-4.x apache-storm

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

日期时间列上的 Pyarrow 子集数据

我一直在尝试使用 pyarrow read_table 读取镶木地板文件并对其进行子集化。

这是代码

import pyarrow.parquet as pq


s3_uri = "Path to s3"
fp = pq.read_table(
            source = s3_uri,
            use_threads = True,
            filters = [('Date_Time' ,'>=','2022-07-08'),('Date_Time' ,'<', '2022-07-09')]
            )
print(fp.to_pandas())
Run Code Online (Sandbox Code Playgroud)

执行上述操作时出现以下错误。

pyarrow.lib.ArrowNotImplementedError:函数greater_equal没有内核匹配的输入类型(数组[timestamp[us]],标量[string])

python pandas parquet pyarrow

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

我应该使用g_strncasecmp的instread?

看起来g_strncasecmp已被弃用,所以我正在寻找另一个函数来做同样的事情.

c glib

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

同步执行状态动作

我正在使用具有多个区域的 Spring 状态机,并且我将某些区域配置为具有 entryAction 和 exitAction。

我最近意识到,操作的回调在不同的线程中运行,有时它们直到状态转换完成后才完成。

以下是安排操作时的堆栈跟踪:

    at org.springframework.statemachine.state.AbstractState.entry(AbstractState.java:208)
    at org.springframework.statemachine.state.ObjectState.entry(ObjectState.java:156)
    at org.springframework.statemachine.support.AbstractStateMachine.entryToState(AbstractStateMachine.java:1216)
    at org.springframework.statemachine.support.AbstractStateMachine.entryToState(AbstractStateMachine.java:1161)
    at org.springframework.statemachine.support.AbstractStateMachine.setCurrentStateInternal(AbstractStateMachine.java:971)
    at org.springframework.statemachine.support.AbstractStateMachine.setCurrentState(AbstractStateMachine.java:949)
    at org.springframework.statemachine.support.AbstractStateMachine.setCurrentState(AbstractStateMachine.java:944)
    at org.springframework.statemachine.support.AbstractStateMachine.setCurrentStateInternal(AbstractStateMachine.java:1038)
    at org.springframework.statemachine.support.AbstractStateMachine.setCurrentState(AbstractStateMachine.java:949)
    at org.springframework.statemachine.support.AbstractStateMachine.switchToState(AbstractStateMachine.java:841)
    at org.springframework.statemachine.support.AbstractStateMachine.access$400(AbstractStateMachine.java:77)
    at org.springframework.statemachine.support.AbstractStateMachine$2.transit(AbstractStateMachine.java:301)
    at org.springframework.statemachine.support.DefaultStateMachineExecutor.handleTriggerTrans(DefaultStateMachineExecutor.java:248)
    at org.springframework.statemachine.support.DefaultStateMachineExecutor.processTriggerQueue(DefaultStateMachineExecutor.java:395)
    at org.springframework.statemachine.support.DefaultStateMachineExecutor.access$100(DefaultStateMachineExecutor.java:61)
    at org.springframework.statemachine.support.DefaultStateMachineExecutor$1.run(DefaultStateMachineExecutor.java:281)
    at org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:50)
    at org.springframework.statemachine.support.DefaultStateMachineExecutor.scheduleEventQueueProcessing(DefaultStateMachineExecutor.java:300)
    at org.springframework.statemachine.support.DefaultStateMachineExecutor.execute(DefaultStateMachineExecutor.java:144)
    at org.springframework.statemachine.support.AbstractStateMachine.sendEventInternal(AbstractStateMachine.java:559)
    at org.springframework.statemachine.support.AbstractStateMachine.sendEvent(AbstractStateMachine.java:211)
Run Code Online (Sandbox Code Playgroud)

为了避免竞争条件并确保功能完成后状态进入/退出操作完成sendEvent,我想使用同步任务调度程序,但我不认为有这样的事情(我必须实现我自己的) )。或者是否有其他方法可以确保我的进入/退出操作在转换后完成?

spring multithreading spring-statemachine

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

继承和多态性在轨道上的红宝石中相互冲突

我在Ruby on Rails上遇到了问题.我有几个继承自同一个类的模型类,以便具有一些通用行为.

父类称为CachedElement.其中一个孩子叫做结果.

我想要一个名为Flow的其他模型属于CachedElement的任何子项.因此,Flow具有称为元素的多态属性,它属于该元素

当我创建一个属于Outcome的新流时,element_type被设置为"CachedElement",它是父类,而不是"Outcome".

这很令人困惑,因为我有几种类型的CachedElement存储在不同的表中,element_id引用了几个不同的元素.

简而言之,我希望element_type字段引用子类名而不是父类名.

我怎样才能做到这一点 ?

ruby polymorphism inheritance ruby-on-rails

0
推荐指数
1
解决办法
2563
查看次数

C++调用错误的函数

我有这个奇怪的错误,C++调用错误的函数:

所以这段代码被调用:

  class FmeGrid
  {  
     // ....
     virtual void saveGridParameters() const;
     virtual void setCellSignalValue(int row, int col, double double_value, const std::string& string_value);
     // ....
  }

  void EnfClientFrame::saveGridParameters()
  {
    this->grid->saveGridParameters();
  }
Run Code Online (Sandbox Code Playgroud)

并且调用的堆栈中的下一个函数是:

  void FmeGrid::setCellSignalValue(int row, int col, double double_value, const std::string& string_value)
  {
    this->setCellString(row, col, string_value, wxALIGN_RIGHT);
    this->setCellBackground(row, col, GetSignalColour(double_value));
  }
Run Code Online (Sandbox Code Playgroud)

使用完全随机的值,这里是堆栈:

enf_client.exe!ui::FmeGrid::setCellSignalValue(int row=1239452, int col=1239236, double double_value=-9.2559592117431994e+061, const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & string_value={...})  Line 468 + 0x23 bytes  C++
enf_client.exe!ui::EnfClientFrame::saveGridParameters()  Line 170 + 0x20 bytes  C++
Run Code Online (Sandbox Code Playgroud)

所以"网格"指针指向一个继承自FmeGrid的类(并且只从FmeGrid继承).saveGridParameters是一个虚函数,因此可能就是这样.

c++ inheritance virtual-functions

0
推荐指数
1
解决办法
891
查看次数