小编mic*_*oo8的帖子

找出我的程序输出被重定向到一个文件

我想知道在Linux和C中是否可以找出我的程序输出被重定向到一个文件.我希望在stdout上打印时将输出格式化为人类可读的格式,$ ./myprogram并在将其重定向到文件时将其格式化为csv$ ./myprogram >> data.csv

它可以吗?

c linux output

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

ObjectList/Repeater的QML DefaultProperty

我正在使用我自己的小部件从c ++扩展QML,DefaultPropertyQQmlListProperty,就像这里一样.

这样我就可以写了

Parent {    
    Child { prop: "ch1" }
    Child { prop: "ch2" }
    Child { prop: "ch3" }
}
Run Code Online (Sandbox Code Playgroud)

Child对象追加到QQmlListProperty类型的成员属性.

但是当我想使用这样的Repeater:

Parent {
    Repeater {
        model: ["ch1","ch2","ch3"]
        delegate: Child {
            prop: modelData
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

然后运行时给了我一个错误: Cannot assign object to list property "childObjects"

如何设置Repeater的Parent对象的list属性?

编辑:我发现,Repeater继承Item并且只能重复项目.但是我的Child对象继承了QObject.所以我必须创建一个Repeaterfor QObjects.但那不是问题.Item对象如何有一个手动编写的子项,还有一个Repeater孩子给了他很多孩子?

c++ qt qml

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

用于 Postgresql 的 Golang 过程语言

我正在尝试编译和运行 Go 代码作为 Postgresql 存储过程。我的动机是因为 postgresql 可以有用 C 编写的 excensions 并且 golang 可以编译为 c-shared

所以我必须文件,pl.go:

package main

/*
#cgo CFLAGS: -Wall -Wpointer-arith -Wno-declaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fpic -I. -I./ -I/usr/include/postgresql/server -I/usr/include/postgresql/internal -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -I/usr/include/libxml2
#cgo LDFLAGS: -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fpic -L/usr/lib -Wl,-O1,--sort-common,--as-needed,-z,relro  -Wl,--as-needed -Wl,-rpath,'/usr/lib',--enable-new-dtags -shared

#include "postgres.h"
#include "fmgr.h"
#include "utils/builtins.h"

#ifdef PG_MODULE_MAGIC
PG_MODULE_MAGIC;
#endif

//the return value must be …
Run Code Online (Sandbox Code Playgroud)

postgresql go

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

gtk应用内通知API参考

我最近研究了gtk设计模式,并找到了应用内通知.有关何时使用它的说明,但没有引用gtk api.

我已经搜索过了,但只找到了GNotificationGApplication.send_notification,但这会将通知发送到桌面环境.

任何人都可以帮助找到用于进行应用内通知的教程或示例代码吗?

gtk notifications toast pygobject gtk3

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

Linux 上的 SAFEARRAY

我在 linux 上使用一个专有库,它SAFEARRAY在回调函数中使用类型:

HRESULT Write(SAFEARRAY *Data)

SAFEARRAY在头文件中定义为typedef void SAFEARRAY.

我必须定义一个回调函数来获取数据(例如 as *unsigned char)和它的长度(例如 asintsize_t)并将数据写入某处。

就像是:

HRESULT MyWrite(SAFEARRAY *Data) {
  unsigned char *data = SafeArrayGetData(Data);
  size_t length = SafeArrayGetLength(Data);
  write_data_somewhere(data, length);
}
Run Code Online (Sandbox Code Playgroud)

然后将它与库一起使用:

ProprietaryLib::ExportThing(thing, MyWrite);
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:如何获得数据并将其的长度在Linux上,在那里我有没有OAIDL.Holeauto.h头文件。

c++ linux safearray

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

常用和最近使用的物品排序算法

我正在寻找一种排名算法,该算法将按使用量和最近的使用量对项目(文件、应用程序、访问过的网站...)进行排序。

例如,在应用程序启动器中,用户键入应用程序名称的一些短前缀,满足条件的应用程序将被排名。app A 是用户最喜欢的 app,使用频率很高,但现在他经常使用 app B,只是偶尔使用 app A。app A 的启动次数比 app B 多,但 B 上次的使用次数比 A 多。

所以应用 B 排在应用 A 之前。

此外,如果应用 C 想要超过应用 B,它必须被更频繁地使用(最近一段时间),但对于应用 A 来说,它不需要太多的使用,因为它是用户最喜欢的应用,并且过去比其他应用程序有更多的用途。

我不知道这是否是我想要的一个很好的解释,但我希望有些人会理解。

algorithm ranking

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

awk - 从输入文件设置 RS

我有一个文件,其中前几部分定义了文件的一些属性。

第 9 口是记录分隔符。因此,这些记录不是由\n第 9 口的内容分隔的,而是由第 9 口的内容分隔的。

我需要读取这个文件,设置RS然后“再次”读取该文件,但现在由这个新的记录分隔符分隔。

输入文件(这里记录分隔符是'):

UNA:+,? 'UNB+UNOC:3+4042805000102:14+4016001000655:14+201231:0206+EC33218279A++TL'UNH+1+MSCONS:D:04B:UN:2.3'BGM+7+EC33218279A-1+9'DTM+137:202012310206:203'RFF+Z13:13018'NAD+MS+4042805000102::9'NAD+MR+4016001000655::9'UNS+D'NAD+DP'LOC+172+DE00108108359V0000000000000088446'DTM+163:202012300000?+01:303
Run Code Online (Sandbox Code Playgroud)

awk 程序将类似于:

{ RS=substr($0, 9, 1) }
{ do magic }
Run Code Online (Sandbox Code Playgroud)

这有可能吗?

awk

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

matlab - 创建零行和一个索引的矩阵

我有一个向量,a = [1; 6; 8] 并希望创建一个包含n列和size(a,1)行的矩阵.

每个第i行都是零,但a(i)索引是一行.

>> make_the_matrix(a, 10)

ans = 
   1 0 0 0 0 0 0 0 0 0 0
   0 0 0 0 0 1 0 0 0 0 0
   0 0 0 0 0 0 0 1 0 0 0
Run Code Online (Sandbox Code Playgroud)

matlab matrix

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

GCC - 标准库中的致命错误,包括

我正在编译一个包含一些标准库的代码作为new,cmath等......但是gcc不能包含它们.

我使用python3.2 distutils来构建它.

它给了我这个错误:gcc fatal error: cmath: No such file or directory.我google了一下,可能我的gcc配置不好,必须重新安装.

我试图在我的archlinux pc上重新安装glibc和gcc及其所有依赖项:sudo pacman -S --recursive glibc gcc但没有任何改变.

问题是什么?

c c++ gcc glibc archlinux

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

在root上提供静态内容,在/ api上提供静态内容

我使用httprouter从API调用路径解析的一些参数:

router := httprouter.New()
router.GET("/api/:param1/:param2", apiHandler)
Run Code Online (Sandbox Code Playgroud)

并希望将一些文件添加到根目录(/)进行投放。这只是index.htmlscript.jsstyle.css。全部位于名为static

router.ServeFiles("/*filepath", http.Dir("static"))
Run Code Online (Sandbox Code Playgroud)

这样我就可以与浏览器一起使用localhost:8080/,它将开始提供服务index.html,而js来自浏览器的会调用/api/:param1/:param2

但是此路径与路径冲突/api

panic: wildcard route '*filepath' conflicts with existing children in path '/*filepath'

http go httprouter

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

客户端的ssl版本和密码套件

我正在开发一个肥皂服务器,它将为一些具有旧版肥皂协议的旧嵌入式计算机提供服务。

我用go编写它,到目前为止只使用 plain http,但在生产中它必须使用ssl加密。所以我刚刚创建了一个密钥和一个证书(来自此站点)并使用了该http.ListenAndServeTLS功能。

但现在计算机无法连接,服务器只是打印握手错误:

server.go:2848: http: TLS handshake error from [::1]:38790: tls: no cipher suite supported by both client and server

在文档中,对于计算机,不是支持的 ssl 版本或密码。所以我想知道,如何找出客户端的 ssl 版本,以及客户端支持的可用密码套件。

然后我如何配置 golang http 服务器以支持所选的密码。

ssl https go

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

C++字符串流分段故障

我写了这个程序:

#include <sstream>
#include <math.h>
#include <string>
#include <vector>
using namespace std;

double distance(vector<double> *, vector<double> *, int);
const char* distances(vector<vector<double>* >, int);

double distance(vector<double> a, vector<double> b){
    double result = 0, di;
    for(int i=0;i<a.size();i++){
        di = a[i] - b[i];
        result += di*di;
    }
    return sqrt(result);
}

const char* distances(vector<vector<double>* > vectors, int accuracy=1){
    stringstream graphstr;
    graphstr << "strict graph {\n";
    for(int i=0; i<vectors.size();i++){
        int j=i+1;
        while(j<vectors.size()){
            graphstr << "\t" << i << " -- " << j << "\t …
Run Code Online (Sandbox Code Playgroud)

c++ stringstream segmentation-fault

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