我想要做的似乎是一个非常基本的东西,但我找不到任何关于它的东西.我正在研究像往常一样建造的项目:
project
|-- bin
|-- inc
`-- src
Run Code Online (Sandbox Code Playgroud)
我想使用Vim中包含的make命令来创建我的项目.但每次我必须指定:make -C ../.我更喜欢,如果当前目录中没有Makefile文件,请进入父目录.我已经这样做了
set tags+=./tags;/
Run Code Online (Sandbox Code Playgroud)
在我的.vimrc.
此外,make默认是丑陋的.是否有添加颜色的选项,并允许直接访问错误(如在Emacs中).
谢谢
我们有一个用霍夫曼编码编码的数据库.这里的目的是在GPU上复制它与相关的解码器; 然后在GPU上解码数据库,并在这个解码的数据库上执行操作,而无需将其复制回CPU上.
我远远不是霍夫曼专家,但我知道的少数人表明它似乎是一种基本上基于控制结构的算法.使用基本算法,恐怕会有很多序列化操作.
我的两个问题是:
我看到其他约束,但它们并不重要: - GPU处理树的效率不高:二叉树可以存储在经典数组中 - 工作量很难平衡:我们会看到
我想绘制这种数据:
数据看起来像这样:
22/02 51:10
25/02 63:10
01/03 50:55
23/03 52:10
Run Code Online (Sandbox Code Playgroud)
我已经为X轴做了这个:
set xdata time
set timefmt "%d/%m"
Run Code Online (Sandbox Code Playgroud)
但我不知道如何管理Y轴.
我想在目录中调整图像列表的大小.为了达到这个目的,我使用convert了imagemagick.我想调整大小
image1.jpg
image2.jpg
...
Run Code Online (Sandbox Code Playgroud)
成
image1-resized.jpg
image2-resized.jpg
...
Run Code Online (Sandbox Code Playgroud)
我想知道是否有一种方法可以在一个命令行中实现这一点.优雅的解决方案通常很有用,不仅仅是在这种情况下.
编辑:
我想要一个非 脚本式的解决方案,即.没有for循环.
这是我想要做的,一个增加全局变量的简单函数.它工作正常.
let g:high_ind = 1
fun! IncHighlightInd()
let g:high_ind = (g:high_ind + 1) %10
return g:high_ind
endf
Run Code Online (Sandbox Code Playgroud)
我想在一个中使用这个变量 map
map <C-h> :call IncHighlightInd() <CR> :Highlight g:high_ind <CR>
Run Code Online (Sandbox Code Playgroud)
但g:high_ind不被认为是一个变量.如何使用这个变量?
或者更有趣的是,是否有可能做类似下面的事情?
map <C-h> :Highlight IncHighlightInd() <CR>
Run Code Online (Sandbox Code Playgroud) 我有一个顶级项目,有大约 10 个子模块和一些嵌套子模块。
./top-project/
./top-project/module-a
./top-project/module-b
...
Run Code Online (Sandbox Code Playgroud)
一些子模块有一个经典的 url,如url = git:software/module-a,其他子模块有一个相对于远程顶级项目的 url,如url = ../module-b。顶级项目 url 是url = git:software/top-project.
我想创建顶级项目及其所有子模块的工作树副本。
git worktree add -f ../top-project-v2
Run Code Online (Sandbox Code Playgroud)
但我找不到一种方法使子模块指向其原始路径。我希望top-project-v2/module-agit 指向top-project/module-a,而不是克隆一个全新的模块-a。
如果我这样做cd top-project-v2; git submodule upate --init --recursive,命令会成功,但子模块不会链接到顶级项目子模块。
如果我这样做git checkout --recurse-submodules origin/v2,我会得到一个错误:
git checkout --recurse-submodules origin/v2
fatal: not a git repository: ../../top-project/.git/worktrees/top-project-v2/modules/module-a
fatal: could not reset submodule index
Run Code Online (Sandbox Code Playgroud)
有什么办法可以做到吗?
我是一个C源代码,我想确保我的结构的所有元素都很好地启动.使用警告Wmissing-field-initializers会很容易.但我也希望能够使用指定的initilizer初始化我的元素.
例如:
struct s {
int a;
int b;
};
struct s s1 = { .a = 1, .b = 2 };
struct s s2 = { .a = 1 };
struct s s3 = { 1, 2 };
struct s s4 = { 1 };
Run Code Online (Sandbox Code Playgroud)
我们试着编译一下:
$ gcc -Wmissing-field-initializers -c struct_init.c
struct_init.c:9:8: warning: missing initializer
struct_init.c:9:8: warning: (near initialization for ‘s4.b’)
Run Code Online (Sandbox Code Playgroud)
我想编译也失败了s2启动.我更喜欢指定的初始化,因为它有助于源代码读取.
我正在为多线程应用程序开发一个跟踪工具,尤其是关于内存分配的跟踪工具.
我想每线程内存分配.我知道当一个线程执行malloc时,使用的内存是全局堆.我想跟踪哪个线程分配了多少内存.
我在malloc上做了一个包装器,每次有一个malloc时递增值:
void *mymalloc(size_t size) {
mem_used[thread_id] += size;
return malloc(size);
}
Run Code Online (Sandbox Code Playgroud)
它运作良好.问题在于free方法,它不返回释放多少内存.
不要考虑我的解决方案,只是为了展示我的尝试.
编辑:
如上所述,保留我自己的桌子是一个太沉重的方法.
是否可以知道给定的phtread线程使用了多少内存?我对VmRSS这样的信息很感兴趣.
我想处理一个在我看来几乎很自然的程序,我不知道如何使用Getopt perl包处理它(无论Std ot Long).
我想要像:
./perlscript <main option> [some options like -h or --output-file some_name]
Run Code Online (Sandbox Code Playgroud)
选项将使用 - 或 - 来处理,但我希望能够让用户在没有破折号的情况下向我提供主要和必需的选项.
Getopt能够做到这一点,还是我必须手工处理?
这是一个经典问题,但我找不到简单的解决方案.
我有一个输入文件,如:
1 3 9 13 23 25 34 36 38 40 52 54 59
2 3 9 14 23 26 34 36 39 40 52 55 59 63 67 76 85 86 90 93 99 108 114
2 4 9 15 23 27 34 36 63 67 76 85 86 90 93 99 108 115
1 25 34 36 38 41 52 54 59 63 67 76 85 86 90 93 98 107 113
2 3 9 16 24 …Run Code Online (Sandbox Code Playgroud) 我想在群集的每台机器上轻松地执行集体通信.假设我有4台机器,每台机器有8个核心,我的mpi程序将运行32个MPI任务.对于给定的功能,我想要的是:
从概念上讲,我理解我必须为每个主机创建一个通信器.我四处搜索,没有发现任何明确的事情.我对MPI小组和传播者感到不舒服.这是我的两个问题:
我想在编译期间添加一条警告消息,警告用户它应该使用gnu99而不是c99(我使用的是匿名结构,而且它似乎在c99中根本不存在).
我找到:
#if __STDC_VERSION__ >= 199901L
Run Code Online (Sandbox Code Playgroud)
但是这个测试适用于c99和gnu99.
我可以使用哪个预定义的宏?
c ×4
gcc ×2
pthreads ×2
vim ×2
algorithm ×1
bash ×1
c99 ×1
communicator ×1
filehandle ×1
getopt ×1
git ×1
git-worktree ×1
gnu ×1
gnuplot ×1
gpu ×1
huffman-code ×1
imagemagick ×1
linux ×1
makefile ×1
mpi ×1
parsing ×1
perl ×1
plugins ×1
shell ×1
variables ×1