小编Ulr*_*rdt的帖子

如何只使用由大写字符组成的单词

我有问题写grep,只应该grep那些行,其中只有大写字符组成的单词.

例如,我有文件:file1.txt

Abc AAA
ADFSD
F
AAAAx
Run Code Online (Sandbox Code Playgroud)

输出应该是:

Abc AAA
ADFSD
F
Run Code Online (Sandbox Code Playgroud)

谢谢你的建议.

regex grep

5
推荐指数
3
解决办法
2万
查看次数

ft2build.h:没有这样的文件或目录 - Freetype 2.6

我正在尝试从 Linux 进行构建,因为我决定开始使用 Jenkins,这是我的个人作品,但是,即使安装了 freetype:v.2.6.3,它也无法识别这个 ft2build.h。

这是加载了 freetype 的 QT Pro。我现在在 UBuntu 16.04 上运行:

linux {
    message("Build for Linux")
    DEFINES += LINUX
    DEFINES += BOOST_LOG_DYN_LINK
    LIBS += -lGLU
    LIBS += -lfreetype
    LIBS += -L/usr/lib/x86_64-linux-gnu/-libboost_timer.so -libboost_log.so -libboost_log_setup.so -libboost_system.so -libboost_thread.so -libboost_filesystem.so
}
Run Code Online (Sandbox Code Playgroud)

所以我尝试手动更改 lib 指针:

LIBS *= -L/usr/local/lib/ -lfreetype
Run Code Online (Sandbox Code Playgroud)

但仍然没有任何进展。我得到的错误来自 lGLU

In file included from displays/display.cpp:3:0:
displays/./../oglft/oglft.h:50:22: fatal error: ft2build.h: No such file or directory
compilation terminated.
Makefile:1093: recipe for target 'display.o' failed
Run Code Online (Sandbox Code Playgroud)

我总是运行 'qmake make clean' 然后 /usr/lib/x86_64-linux-gnu/qt5/bin/qmake && make && …

c++ qt qmake jenkins

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

如何在 Ubuntu 15 中安装 graphviz 来为 XGBoost 绘制决策树?

我想绘制 XGBoost 的决策树。我按照此网页的说明进行操作。我收到此错误:

 ImportError: You must install graphviz to plot tree
Run Code Online (Sandbox Code Playgroud)

我尝试从graphviz安装 graphviz_2.38.0-1~saucy_amd64.deb 。但我收到此错误:

 *Dependency is not satisfiable:libgraphviz4(>=2.18)*
Run Code Online (Sandbox Code Playgroud)

所以我做了这个链接上的内容

由于它仍然不起作用我下载了源代码:graphviz-2.40.1.tar.gz 但它仍然不起作用。我想可能是我把它安装在了错误的路径中。那么这是什么意思:确保包含 dot 可执行文件的目录在您的系统路径上?

我已经将它安装在 /etc 中。

我在 conda 中使用虚拟环境

关于我做错了什么的任何建议?

编辑:

我使用了 pip install graphviz。现在我收到这个错误:

CalledProcessError: Command '['dot', '-Tpng']' returned non-zero exit status 1
Run Code Online (Sandbox Code Playgroud)

任何的想法?

python xgboost

5
推荐指数
2
解决办法
5067
查看次数

缺少依赖项时如何使 LoadLibrary 显示错误对话框

假设我们有两个动态库libfoo.dlllibbar.dll,鉴于这libbar.dll取决于libfoo.dll。此外,我们编译一个可执行文件test.exe,加载我们libbar.dll使用的 WinAPI 函数LoadLibrary()

如果我们text.exe在 Windows XP 上运行missing libfoo.dll,则LoadLibrary()显示对话框警告而不是libfoo.dll实际丢失并设置LastErrorERROR_MOD_NOT_FOUND(126)。

如果我们text.exe在相同条件下在 Windows 10 上运行相同,LoadLibrary()设置LastErrorERROR_MOD_NOT_FOUNDonly,则不会出现对话框。

在这两种情况下ErrorMode都是 0。那么是否有可能在LoadLibrary()调用过程中捕获缺少依赖项的名称,或者至少,如何 LoadLibrary()在 Windows 10 上显示错误对话框?

这是一个示例代码(使用 MinGW):

foo.c

int foo(int a, int b)
{
    return a + b;
}
Run Code Online (Sandbox Code Playgroud)

编译: gcc foo.c -o libfoo.dll -fPIC -shared

酒吧

int foo(int …
Run Code Online (Sandbox Code Playgroud)

c dll winapi loadlibrary windows-10

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

GCC编译器标志在本机和haswell之间有所不同

我在Linux haswell盒上,但是在执行此操作时

gcc -march=native -Q --help=target
Run Code Online (Sandbox Code Playgroud)

它具有与编译器不同的编译器开关

gcc -march=haswell -Q --help=target
Run Code Online (Sandbox Code Playgroud)

我输入了以下内容以查看差异

diff -u <(gcc -march=native -Q --help=target) <(gcc -march=haswell -Q --help=target) | grep "^[-|+] "
Run Code Online (Sandbox Code Playgroud)

在这种情况下,是否需要为编译器设置haswell架构类型配置错误的东西?

上面的diff命令显示了以下标志差异。

-  -mabm                                [enabled]
+  -mabm                                [disabled]
-  -maes                                [enabled]
+  -maes                                [disabled]
-  -mavx                                [enabled]
-  -mavx2                               [enabled]
+  -mavx                                [disabled]
+  -mavx2                               [disabled]
-  -mbmi                                [enabled]
-  -mbmi2                               [enabled]
+  -mbmi                                [disabled]
+  -mbmi2                               [disabled]
-  -mcx16                               [enabled]
+  -mcx16                               [disabled]
-  -mf16c                               [enabled]
+  -mf16c                               [disabled]
-  -mfma                                [enabled]
+ …
Run Code Online (Sandbox Code Playgroud)

c++ gcc gcc4.9 c++14

5
推荐指数
0
解决办法
329
查看次数

FFMPEG中帧与数据包之间的差异

我正在尝试使用LibAV解码mpeg视频文件。我无法正确理解两个术语:FramesPackets

根据我目前的理解,是未压缩的视频帧,数据包是已压缩的帧。

问题

  • 数据包有多个帧,对吗?
  • 一帧只能是一个数据包的一部分吗?我指的是帧信息的一半在数据包1中,另一半在数据包2中的情况?可能吗?
  • 我们如何知道LibAV中一个数据包中有多少帧?

codec libavcodec libav libavformat

5
推荐指数
2
解决办法
241
查看次数

非静态成员函数的std :: add_pointer实现

该问题是有关std :: add_pointer实现的A问题的后续内容

std :: add_pointer下

有以下参考:

否则(如果T是cv或ref限定的函数类型),则提供成员typedef类型,即类型T。

基于阅读非静态成员函数:const,volatile和ref限定成员函数,我的理解是对于具有给定cv和/或ref限定条件的非静态成员函数,

a)在cv函数this范围内,函数的资格也适用于指针

b)该ref函数的限定不适用于this该函数范围内的指针

鉴于此,为什么在非静态成员函数具有或资格的情况下std::add_pointer不能为成员提供?typedef type T*cvref

c++ std language-lawyer

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

c++ - 为什么在C ++中进行移位操作后,位字段的无符号整数会变成有符号整数?

测试代码:

struct A
{
    uint32_t lo : 16;
    uint32_t hi : 16;
};

int main()
{
    A a{};
    a.lo = 0xFFFF;
    auto b = a.lo << 16;
    cout << b << endl;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出是:-65536,类型bint但不是uint32_t

我发现,uint16_t并且uint8_t在移位运算符之后也会变成有符号整数,并且在 中有一个类似的问题C#,得出的结论是当操作数<32位时结果会变成有符号。 为什么当操作数小于 32 位时,移位操作总是产生有符号整数

但是 的类型a.lo是明确的uint32_t,可以通过 验证decltype(a.lo),那么这怎么解释呢?

c++ language-lawyer

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

如何使用shell脚本从句子中删除停用词?

我想从文件中的句子中删除停用词?

停止词,我的意思是:
[I, a, an, as, at, the, by, in, for, of, on, that]

我在文件中有这些句子my_text.txt

Unix 系统设计的主要目标之一是创建一个促进高效程序运行的环境。

然后我想从上面的句子中删除停用词

我使用了这个脚本:

array=( I a an as at the by in for of on that  )
for i in "${array[@]}"
do
cat $p  | sed -e 's/\<$i\>//g' 
done < my_text.txt
Run Code Online (Sandbox Code Playgroud)

但输出是:

Unix 系统设计的主要目标之一是创建一个促进高效程序运行的环境。

预期的输出应该是:

设计 Unix 系统的一个主要目标是创建一个促进高效程序的环境

注意:我要删除 删除停用词 不是重复词?

bash shell sed tr

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

Rabin-Karp 算法代码中的负哈希值

我从这个网站了解拉宾-卡普算法:https://www.geeksforgeeks.org/rabin-karp-algorithm-for-pattern-searching/

他们的算法的 C++ 代码如下:

#include <bits/stdc++.h> 
using namespace std; 
  
// d is the number of characters in the input alphabet  
#define d 256  
  
/* pat -> pattern  
    txt -> text  
    q -> A prime number  
*/
void search(char pat[], char txt[], int q)  
{  
    int M = strlen(pat);  
    int N = strlen(txt);  
    int i, j;  
    int p = 0; // hash value for pattern  
    int t = 0; // hash value for txt  
    int h = 1;  
  
    // The …
Run Code Online (Sandbox Code Playgroud)

c++ algorithm hash data-structures

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