小编Nil*_*ils的帖子

BLAS和CUBLAS

我想知道NVIDIA的cuBLAS库.有人有经验吗?例如,如果我使用BLAS编写C程序,我是否可以通过调用cuBLAS替换对BLAS的调用?或者甚至更好地实现一个让用户在运行时选择的机制?

如果我使用Boost with C++提供的BLAS库怎么样?

boost cuda blas cublas

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

没有应用程序服务器的JPA

我只是在编写一个小的java应用程序,我希望能够将数据模型保存在数据库中.所以我想知道我是否可以使用JPA.我前段时间使用过JPA,但据我记得它需要一台应用程序服务器.所以我想知道我可以让JPA使用应用程序服务器来保持我的课程.

java jpa

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

JPA和toplink create-table如果它们尚不存在?

看起来jpa是让我提出很多问题的东西.

添加了这个

<property name="toplink.ddl-generation" value="create-tables"/>
Run Code Online (Sandbox Code Playgroud)

我的JPA应用程序总是在运行时创建表,这会导致表已存在时出现异常.我希望JPA检查表是否已经存在,如果没有创建它们,但是我找不到上面的属性的值,这样做.

所以如果我把它关闭,有没有办法在某个时候手动告诉JPA创建所有表?

这里更新是我得到的例外

Internal Exception: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'tags' already exists
Error Code: 1050
Call: CREATE TABLE tags (ID BIGINT AUTO_INCREMENT NOT NULL, NAME VARCHAR(255), OCCURRENCE INTEGER, PRIMARY KEY (ID))
Run Code Online (Sandbox Code Playgroud)

MySQLSyntaxErrorException?现在这肯定是错的

java orm jpa persistence.xml

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

C++17 和 emplace_back(...) 中保证复制省略

emplace_back(...)是在 C++11 中引入的,以防止创建临时对象。现在,使用 C++17 纯左值更加纯粹,因此它们不再导致临时值的创建(有关更多信息,请参阅此问题)。现在我仍然不完全理解这些改变的后果,我们是否还需要emplace_back(...)或者我们可以回去push_back(...)再使用吗?

c++ c++17

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

C++ static_cast从float**到void**

刚碰到这个:

#include <iostream>

using namespace std;

int main(int argc, char** argv)
{
    float *a = new float[10];
    void **b;
    b = static_cast<void**>(&a);
    delete(a); 
    return 0;
}

macbook:C nils$ g++ -Wall -g -o static_cast static_cast.cpp 
static_cast.cpp: In function ‘int main(int, char**)’:
static_cast.cpp:9: error: invalid static_cast from type ‘float**’ to type ‘void**’
macbook:C nils$ clang++ -Wall -g -o static_cast static_cast.cpp 
static_cast.cpp:9:9: error: static_cast from 'float **' to 'void **' is not
      allowed
    b = static_cast<void**>(&a);
        ^~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
macbook:C nils$ 
Run Code Online (Sandbox Code Playgroud)

为什么不允许?而b …

c++

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

如果覆盖drawRect,则iOS子视图显示为黑色矩形

我有一个故事板加载自定义UIView.此外,还会在故事板中的视图中添加子视图.它工作正常,直到我覆盖子视图的drawRect方法,然后我只看到一个黑色矩形而不是子视图.这是代码:

#import <UIKit/UIKit.h>
#import "MySubview.h"

@interface MyView : UIView

@end
Run Code Online (Sandbox Code Playgroud)
#import "MyView.h"

@implementation MyView

- (void) awakeFromNib
{
    CGRect frame = [self frame];
    MySubview* sv = [[MySubview alloc] initWithFrame:frame];
    [self addSubview:sv];
}

- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        // Initialization code
    }
    return self;
}

@end
Run Code Online (Sandbox Code Playgroud)
#import <UIKit/UIKit.h>

@interface MySubview : UIView

@property (retain, nonatomic) NSString* text;
@property (retain, nonatomic) UILabel* label;

@end
Run Code Online (Sandbox Code Playgroud)
#import "MySubview.h"

@implementation MySubview

@synthesize text, label;


- (void)attachLabel
{
    text = @"Hello"; …
Run Code Online (Sandbox Code Playgroud)

objective-c uiview ios

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

迭代特定类型的所有子视图

迭代一个类的子视图中的所有UIViews然后使用循环中的类型检查isKindOfClass使我的代码看起来多余.所以我编写了以下方法,为每个子视图执行一个块.

@implementation Util

+ (void)iterateOverSubviewsOfType:(Class)viewType 
                   view:(UIView*)view
                   blockToExecute:(void (^)(id subview))block
{
    for (UIView* subview in view.subviews) {
        if ([subview isKindOfClass:viewType]) {
            block(subview);
        }
    }
}

@end
Run Code Online (Sandbox Code Playgroud)

传递给此方法的块采用类型的参数id.这里使用的类型当然应该与第一个参数一样.但到目前为止,我还没有找到一种方法来使这种类型更安全.

objective-c uiview ios objective-c-blocks

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

Qt通过网络的信号/插槽机制

我希望能够通过网络发送Qt信号.使用Qt的元类型系统序列化信号调用非常简单:

  • qMetaMethod使用静态方法创建一个::fromSignal
  • [1]使用创建的元方法获取方法名称,参数名称,其typeIds 和值.
  • 将所有内容打包为您的首选格式(JSON,XML)并发送.

但到目前为止,我无法弄清楚如何使用序列化数据调用信号:QMetaObject::invokeMethod(..)将信号/方法名称作为字符串.问题是参数:它们必须被提供为,QGenericArgument并且只能通过使用Q_ARG需要实际类型(不是它的名称或字符串typeId)和相关值的宏来创建.参数的数量也必须在编译时定义,没有invokeMethod(..)哪个参数列表.

我错过了什么吗?或者有更好/替代方法来做到这一点?

[1]进一步的问题:如何确保类型在使用时始终获得相同的typeId Q_DECLARE_METATYPE(..)

c++ qt

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

如何测试 Qt SCXML 状态机

我正在尝试使用 Qt 测试框架验证状态机的行为。我只是不明白我应该如何测试 Qt SCXML 实现。当然有QSignalSpy,但这仅适用于不需要事件循环运行的信号/斜率。我本质上想做的是:

myStateMachine.submitEvent("MyEvent");
// Run event loop
// Check result
Run Code Online (Sandbox Code Playgroud)

我尝试QCoreApplication::processEvents()这样做有时会奏效,但有时在调用processEvents(). 我想我可能会触发一个无限循环。谷歌搜索也没有帮助,但必须有一种方法可以正确地做到这一点。

qt scxml

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

同一个迭代器的多个迭代器(使用枚举),这是怎么回事?

考虑以下示例:

s = 'abc'
[(c1, c2) for j, c2 in enumerate(s) for i, c1 in enumerate(s)]
Run Code Online (Sandbox Code Playgroud)

输出:

[('a', 'a'),
 ('b', 'a'),
 ('c', 'a'),
 ('a', 'b'),
 ('b', 'b'),
 ('c', 'b'),
 ('a', 'c'),
 ('b', 'c'),
 ('c', 'c')]
Run Code Online (Sandbox Code Playgroud)

如果在列表推导式之外调用 enumerate 并且将迭代器分配给变量,我希望得到相同的输出:

it1, it2 = enumerate(s), enumerate(s)
[(c1, c2) for j, c2 in it1 for i, c1 in it2]
Run Code Online (Sandbox Code Playgroud)

但我得到:

[('a', 'a'), ('b', 'a'), ('c', 'a')]
Run Code Online (Sandbox Code Playgroud)

到底是怎么回事?我使用 Python 3.6.9。

python iterator

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

标签 统计

c++ ×3

ios ×2

java ×2

jpa ×2

objective-c ×2

qt ×2

uiview ×2

blas ×1

boost ×1

c++17 ×1

cublas ×1

cuda ×1

iterator ×1

objective-c-blocks ×1

orm ×1

persistence.xml ×1

python ×1

scxml ×1