小编aru*_*zhi的帖子

在VI编辑器中按数字排序

可能重复:
如何在Vim中对数字和文字列进行排序

我必须根据线程ID对以下行进行排序.

Internal thread 0 bound to OS proc set {1}
Internal thread 1 bound to OS proc set {5}
Internal thread 2 bound to OS proc set {9}
Internal thread 10 bound to OS proc set {41}
Internal thread 9 bound to OS proc set {37}
Run Code Online (Sandbox Code Playgroud)

当我发布时,:!sort -n他们会像这样排序:

Internal thread 0 bound to OS proc set {1}
Internal thread 1 bound to OS proc set {5}
Internal thread 10 bound to OS proc set {41}
Internal …
Run Code Online (Sandbox Code Playgroud)

vi vim text-editor

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

在VI中复制每一行

我有这些行的文件:

aa
bb
cc
dd
Run Code Online (Sandbox Code Playgroud)

我想将其转换为:

aa
aa
bb
bb
cc
cc
dd
dd
Run Code Online (Sandbox Code Playgroud)

这可能在VI?

vim

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

打印__m128i变量

我正在尝试学习使用内在函数进行编码,下面是一个添加代码的代码

compiler used: icc

#include<stdio.h>
#include<emmintrin.h>
int main()
{
        __m128i a = _mm_set_epi32(1,2,3,4);
        __m128i b = _mm_set_epi32(1,2,3,4);
        __m128i c;
        c = _mm_add_epi32(a,b);
        printf("%d\n",c[2]);
        return 0;
}
Run Code Online (Sandbox Code Playgroud)

我得到以下错误:

test.c(9): error: expression must have pointer-to-object type
        printf("%d\n",c[2]);
Run Code Online (Sandbox Code Playgroud)

如何在c类型变量中打印值__m128i

c assembly sse simd intrinsics

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

在两个线程和主程序之间共享一个对象

我是Java新手,我正在参加并发编程课程.我拼命想要一个最小的工作示例,它可以帮助演示我学过的概念,比如使用'synchronized'关键字并跨线程共享一个对象.一直在搜索,但无法获得一个基本框架.Java程序员,请帮忙.

java concurrency synchronized

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

结构中的枚举 - C与C++

我正在尝试在结构中使用Enums,这可以编译并且可以正常工作gcc.但是编译时的相同代码g++会抛出错误.

#include<stdio.h>
#include<stdlib.h>
struct foo
{
    enum {MODE1, MODE2, MODE3} mode;
    enum {TYPE1, TYPE2} type;
};
void bar(struct foo* bar)
{
    bar->mode = MODE1;
}

int main()
{
    struct foo* foo = (struct foo*) malloc(sizeof(struct foo));
    bar(foo);
    printf("mode=%d\n",foo->mode);
}
Run Code Online (Sandbox Code Playgroud)

获得的输出gcc:

 $ gcc foo.c
 $ ./a.out
 mode=0
Run Code Online (Sandbox Code Playgroud)

获得的输出g++:

 $ g++ foo.c
 foo.c: In function ‘void bar(foo*)’:
 foo.c:11: error: ‘MODE1’ was not declared in this scope
Run Code Online (Sandbox Code Playgroud)

c c++ enums gcc struct

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

java - 从引用中窃取位

如何从地址窃取2个MSB进行原子操作?我正在努力做一个单词CAS

一个例子

public class Node
{
    long key;
    long value;
    Node lchild; // format is flag1,flag2,address
    Node rchild; // format is flag1,flag2,address
}

public void createNode()
{
    Node n1 = new Node(); //this should create a node with format 0,0,address1
}

public void setFlag1(Node n1)
{
    Now the new address should be in format 1,0,address1
}

public void setFlag2(Node n1)
{
    Now the new address should be in format 0,1,address1
}
Run Code Online (Sandbox Code Playgroud)

AtomicReference如果我只需要一个额外的标志,可以使用. AtomicStampedReference可以使用,但它没有效率,因为它创建了一个包含timeStamp和引用的额外框.

从指针窃取位时讨论了C中的类似问题

c java java.util.concurrent concurrent-programming compare-and-swap

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

vi序列号生成

我需要vi用这种模式创建一个文件.有没有办法使用第一行自动生成这些行

run 1 end
run 2 end
run 3 end
run 4 end
run 5 end
run 6 end
Run Code Online (Sandbox Code Playgroud)

我总是可以在excel中执行此操作,然后将其转换为文本文件,然后切换到vi,但想知道是否有办法执行此操作,vi以便我不必切换回excel

regex vi vim

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

使用shell脚本合并txt文件的行

我从shell脚本调用一个程序,它用这种格式创建一个输出文件:

aaaaa\
bbbbb\
ccccc\
Run Code Online (Sandbox Code Playgroud)

我想将此更改为:

aaaaabbbbbccccc
Run Code Online (Sandbox Code Playgroud)

在VI编辑器中我可以做ggVGJ,然后用""替换所有\.但我希望通过脚本完成这项工作.

unix vi bash shell

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

检查pthread锁定变量是否被锁定

我想知道是否锁定了pthread锁定变量.一种简单的方法是使用如下所示的trylock

pthread_mutex_t lockVar;
if(pthread_mutex_trylock(&lockVar) == 0)
{
    //lock was successful
    pthread_mutex_unlock(&lockVar);
}
else
{
    //someone else holds the lock
}
Run Code Online (Sandbox Code Playgroud)

如何在不获得锁定的情况下做同样的事情?

c mutex pthreads

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

FORTRAN - 减少函数调用开销

我有这样的fortran代码:

file1.f90

program myprog
 use func1mod
    do i=1,N
       call subroutine1
    enddo
    subroutine subroutine1
         integer*8::var1,var2,var3,...
         do j=1,N
            x=func1(var1,var2,var3,..)
            computations based on x
         enddo
    return
    end
end 
Run Code Online (Sandbox Code Playgroud)

file2.f90

 module func1mod
 contains
     func1(var1,var2,var3,....)
         func1=some computations based on var1, var2, var3, ...
      return
     end function func1
 end module func1mod
Run Code Online (Sandbox Code Playgroud)

function func1不会修改它的任何参数.它根据参数计算值并返回一个值.参数数量很大,但函数少于30行代码.减少函数调用开销的最佳方法是什么?一种方法是内联函数.还有其他出路吗?

optimization performance fortran function fortran90

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