小编Elm*_*lmi的帖子

用SQL进行条件INSERT?

我有一个数据库,不时更新数据集.在这里,可能会发生已经存在于数据库中的数据集.

目前我是第一个做的

SELECT FROM ... WHERE val1=... AND val2=...
Run Code Online (Sandbox Code Playgroud)

检查是否已存在具有这些数据的数据集(使用WHERE语句中的数据).如果这不返回任何值,我正在执行INSERT.

但这对我来说似乎有点复杂.所以我的问题是:是否存在某种条件INSERT,只有在它不存在的情况下才会添加新数据集?

我正在使用SmallSQL

sql database smallsql

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

如何将const char*从C#传递给C函数?

我尝试从我的C#-application中调用来自外部DLL的普通C函数.此功能定义为

void set_param(const char *data)
Run Code Online (Sandbox Code Playgroud)

现在我使用这个函数有一些问题:

  1. 如何在C#代码中指定此"const"?public static extern void set_param(sbyte *data)似乎错过了"const"部分.

  2. 调用此函数时,如何移交普通的8位C字符串?调用set_param("127.0.0.1")导致错误消息"无法从'string'转换为'sbyte '"*.

.net c# dll pinvoke marshalling

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

在构建期间将静态库链接到共享库?

我在使用GCC/Linux构建共享库时遇到问题.目前这个共享库是使用GCC/libtool选项"-shared"创建的,一切都很好.

现在还有两个额外的静态库(.a文件)必须添加到此共享库中,因为它们提供了共享库所需的一些功能.使用选项"-l"添加这些静态库没有帮助,之后它们不是.so文件的一部分.

那么我如何强制GCC/libtool真正将这些静态库的代码添加到共享库中呢?

谢谢!

linux gcc shared-libraries static-libraries libtool

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

使用Visual Basic的变量参数列表?

假设我有一个DLL导出具有可变参数列表的函数,如下所示:

int myfunc(int arg1,...)
Run Code Online (Sandbox Code Playgroud)

这里"......"是一个未定义的附加参数.可以从Visual Basic应用程序中调用此类函数,还是将VB锁定到具有固定参数的函数?

我只是要求避免一个会阻止VB程序员的设计问题......

谢谢!

dll vba variadic-functions

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

内存碎片

当我随机地使用malloc()s和free()s,嵌套并且具有不同的大小时,在某些时候内存将被分段,因为这些操作留下了大量的小内存区域,后面是非连续的,因此不能被分配为一个更大的块.

关于这个的一些问题:

  • 如果经常这样做,以便内存被强制分段,然后所有这些内存区域都是free()d,我可以假设这些空闲区域连接回原来的连续大小吗?

  • 当我总是执行a malloc()后跟free()相同的内存并且从不嵌套这些调用时,在分配/释放的大小总是不同的情况下,内存是否也在这种情况下碎片化?

c memory malloc memory-fragmentation

11
推荐指数
2
解决办法
3522
查看次数

Linux/CUPS打印示例/教程?

我需要使用Linux打印一些矢量数据(或更确切地说:一些点和折线).当我向谷歌询问它时,它向我展示了许多教程和文档 - 但都是针对最终用户的,没有编程示例.

那么有没有人知道一个好的程序员HOWTO /教程在Linux下显示打印?

谢谢!

c c++ linux printing cups

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

快速CRC算法?

我想用ASCII字符串创建一个32位数字.CRC32算法正是我正在寻找的,但我不能使用它,因为它需要的表太大了(它适用于资源很少的嵌入式系统).

那么:对快速而纤薄的CRC算法的任何建议?与原始CRC32相比,何时碰撞更可能无关紧要.

谢谢!

c c++ crc32 crc

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

QWebEngine:打印一页?

迁移QWebKitQWebEngine似乎比Qt家伙声称要复杂得多.有了QWebKit,我可以轻松打印网页

QWebView->print(&printer);
Run Code Online (Sandbox Code Playgroud)

使用QWebEngineQWebEngine视图不提供方法print().他们的浏览器示例使用一个名为的类QWebEngineFrame,它提供了一个方法print()- 但整个QWebEngineFrame过程没有定义!

所以我的问题是:如何使用打印页面QWebEngine

c++ printing qt qt5 qt5.5

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

Android:使用NDK构建本机GUI应用程序?

独立于有意义的事实,如果它是一个创建Android应用程序的好方法:因为(教育/个人/其他)原因我想用C++使用NDK创建一个带有图形用户界面的Android应用程序.

到目前为止,我发现了一些关于NDK的信息,如何创建本机库以及如何从Java应用程序中访问它们.但我真正想要的是一些信息,如何创建一个视图,并从我的C++ NDK应用程序中添加图形用户界面元素到该视图.

任何想法和提示如何做到这一点或在哪里可以找到更多的信息/ HOWTOs?

c++ user-interface android native

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

从文件加载公钥数据

在我的应用程序中,我生成一个公钥/私钥对并存储它们以供以后在磁盘上使用.加载和重新初始化私钥工作正常,但对于私钥,我得到一个未知的KeySpec类型:java.security.spec.PKCS8EncodedKeySpec - 我不知道为什么.

这就是我创建和保存密钥的方式(代码有点简化以便于阅读):

KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA");
kpg.initialize(4096);
KeyPair keyPair = kpg.generateKeyPair();
privKey =keyPair.getPrivate();
pubKey =keyPair.getPublic();        

DataOutputStream out=new DataOutputStream(ctx.openFileOutput(PRIVKEY_FILE,Context.MODE_PRIVATE));
byte[] data=privKey.getEncoded();
out.write(data);
out.close();

DataOutputStream out=new DataOutputStream(ctx.openFileOutput(PUBKEY_FILE,Context.MODE_PRIVATE));
byte[] data=pubKey.getEncoded();
out.write(data);
out.close();
Run Code Online (Sandbox Code Playgroud)

下一次加载私钥工作正常:

DataInputStream in=new DataInputStream(ctx.openFileInput(PRIVKEY_FILE));
byte[] data=new byte[in.available()];
in.readFully(data);

PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(data);
KeyFactory kf = KeyFactory.getInstance("RSA");
privKey = kf.generatePrivate(keySpec);

decryptCipher = Cipher.getInstance("RSA/ECB/PKCS1Padding");
decryptCipher.init(Cipher.DECRYPT_MODE, privKey);
Run Code Online (Sandbox Code Playgroud)

类似的公钥代码惨遭失败:

DataInputStream in=new DataInputStream(ctx.openFileInput(PUBKEY_FILE));
byte[] data=new byte[in.available()];
in.readFully(data);

PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(data);
KeyFactory kf = KeyFactory.getInstance("RSA");
pubKey = kf.generatePublic(keySpec); --> here the exception …
Run Code Online (Sandbox Code Playgroud)

java android rsa public-key

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