小编exc*_*ray的帖子

Vim在复制粘贴时插入注释

当我将下面的行复制到Vim时,

" OmniCppComplete
let OmniCpp_NamespaceSearch = 1
let OmniCpp_GlobalScopeSearch = 1
let OmniCpp_ShowAccess = 1
Run Code Online (Sandbox Code Playgroud)

Vim自动添加"到所有线路.如何摆脱这种情况并将其粘贴?

In Vim

 66     " OmniCppComplete
 67     " let OmniCpp_NamespaceSearch = 1
 68     " let OmniCpp_GlobalScopeSearch = 1
 69     " let OmniCpp_ShowAccess = 1
Run Code Online (Sandbox Code Playgroud)

vim

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

Vim和Ctags:生成标签时忽略某些文件

我有一个文件夹llvm2.9,我在其中运行此命令.

$> ctags -R --sort=1 --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++
Run Code Online (Sandbox Code Playgroud)

这也是*.html文件中的索引方法,也存在于llvm2.9/docs中.我发现了这个,因为当我按某个类的ctrl-]时,它转到了html文件.

我如何强制ctags单独使用.cpp/.h文件或忽略特定目录.

谢谢

vim ctags

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

当父线程终止时,子线程是否退出

我正在使用调用beginthreadex,endthreadex在Visual Studio C++中进行一些多线程编程.

我创建了一个子线程thread1.子线程运行在一个永不退出的函数上,因为它具有无限循环.现在,如果父线程因错误终止或成功完成,子线程是否也会退出?我的疑问是 - 即使在主程序退出后,是否存在子线程仍处于活动状态的情况?

对于linux,这种情况应该怎样?

c++ windows

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

数组结构和结构数组 - 性能差异

我有一个这样的课:

//Array of Structures
class Unit
{
  public:
    float v;
    float u;
    //And similarly many other variables of float type, upto 10-12 of them.
    void update()
    {
       v+=u;
       v=v*i*t;
       //And many other equations
    }
};
Run Code Online (Sandbox Code Playgroud)

我创建了一个Unit类型的对象数组.并调用它们的更新.

int NUM_UNITS = 10000;
void ProcessUpdate()
{
  Unit *units = new Unit[NUM_UNITS];
  for(int i = 0; i < NUM_UNITS; i++)
  {
    units[i].update();
  }
}
Run Code Online (Sandbox Code Playgroud)

为了加快速度,并可能对循环进行自动调整,我将AoS转换为数组结构.

//Structure of Arrays:
class Unit
{
  public:
  Unit(int NUM_UNITS)
  {
    v = new float[NUM_UNITS];
  }
  float *v;
  float *u; …
Run Code Online (Sandbox Code Playgroud)

c c++ performance gcc caching

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

我应该在基类中声明所有虚函数吗?

当我声明一个基类时,我应该将其中的所有函数声明为虚拟,还是应该有一组虚函数和一组非虚函数,我相信这些函数不会被继承?

c++

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

如何在VIM中的每个注释(例如"#")之前插入一个空行?

嗨在Gvim中我需要在文件中的每个注释之前插入一两行空行.

例如

#comment 1
#comment 2
statement 1
statement 2
#comment 3
Run Code Online (Sandbox Code Playgroud)

运行comamnd之后应该是

#comment 1

#comment 2
statement 1
statement 2  

#comment 3
Run Code Online (Sandbox Code Playgroud)

我该怎么做呢?

谢谢

更新:感谢您的回答

但如果评论是连续的,我不希望在它们之间添加换行符.有没有办法做到这一点?

例如

#comment 1
#comment 2
Run Code Online (Sandbox Code Playgroud)

我不想要它

#comment 1

#comment 2
Run Code Online (Sandbox Code Playgroud)

vim

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

在C++ DLL或C++ exe上编写C#GUI

我有一个C++控制台Exe,它做了一些编程.现在我想编写一个C#GUI来完成C++ exe所做的一些编程.我想的方法很少,

  1. 用C++中的所有编程从头开始编写C#GUI.(我不想为它所需的返工量做这个)
  2. 构建一个C++ DLL进行编程并将其导入到GUI应用程序中.(现在我有一个问题.我如何在c ++ dll中捕获例程的输出并在GUI中显示它?我应该将输出作为字符串返回应用程序调用的每个例程.?因为我不知道托管c ++我将构建一个非托管的C++ DLL.)

c# c++ dll

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

llvm中的自动矢量化

我正在尝试使用clang-3.2创建自动矢量化代码

从这里的幻灯片 - http://llvm.org/devmtg/2012-04-12/Slides/Hal_Finkel.pdf

我应该能够使用此命令行生成矢量化代码.

bin/clang++ -c -O3 -mllvm -vectorize -bb-vectorize-aligned-only clang-auto-vec.cpp
Run Code Online (Sandbox Code Playgroud)

但它会抛出错误错误: unsupported option '-b b-vectorize-aligned-only'

如果我只删除-bb-vectorize-aligned-only它,它不会创建任何矢量化代码.

这里出了什么问题?

llvm clang

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

使用clang为函数创建参数

我有源代码,看起来像这样,

void update();

void update()
{
}
Run Code Online (Sandbox Code Playgroud)

我试图用clang解析这段代码并修改代码.

typedef float v4sf attribute ((vector_size(16)));
void update(v4sf& v1, v4sf& v2);

void update(v4sf& v1, v4sf& v2)
{
}
Run Code Online (Sandbox Code Playgroud)

我看了重写的clang类.在我写的函数中,如下所示,

MyRecursiveASTVisitor::VisitFunctionDecl(FunctionDecl *f) 
Run Code Online (Sandbox Code Playgroud)

FunctionDecl有我可以使用的setParams()方法.我必须使用这种方法创建参数.

  static ParmVarDecl *Create(ASTContext &C, DeclContext *DC,
                             SourceLocation StartLoc,
                             SourceLocation IdLoc, IdentifierInfo *Id,
                             QualType T, TypeSourceInfo *TInfo,
                             StorageClass S, StorageClass SCAsWritten,
                             Expr *DefArg);
Run Code Online (Sandbox Code Playgroud)

create函数的前四个参数可以从FunctionDecl获得.我不确定其他人必须是什么.

如何创建类型并在clang中为它们赋值?这些类型不需要内置,可以像转换后的源代码中添加的那样(v4sf).

这种方式(使用clang方法)进行转换还是可以使用Rewriter.InsertText()来添加参数?

llvm clang

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

在具有必填字段和可选字段的对象上进行最佳匹配搜索

假设我有一个具有以下结构的键/值。

@Value.Immutable
public interface Key {
  EnumFoo required_enum_one;
  EnumBar required_enum_two;
  Optional<boolean> optional_boolean_one;
  Optional<EnumBaz> optional_enum_two; 
} 

@Value.Immutable
public interface Value {
  Message message; 
} 
Run Code Online (Sandbox Code Playgroud)

假设我有一个键/值映射,其中对于所有必填字段组合和一些可选字段组合都有消息值。例如:

{foo1, bar1, true, baz1 } => msg1
{foo1, bar1, true, <any value except baz1> } => msg2
{foo1, bar2, <any value>, <any value> } => msg3
{foo2, bar2, <any value>, <any value> } => msg4
If I do a look up of {foo1, bar2, false, baz1}, it should resolve to msg3
Run Code Online (Sandbox Code Playgroud)

实施此方法的最佳方法是什么?我正在考虑向键添加一个自定义@equals,当映射集合中不存在该键时,它会跳过可选匹配。至于映射集合,我正在考虑一个键/值元组的列表,该列表是根据可选字段的存在而排序的(类似于上面的代码块),以便第一个匹配 …

java oop design-patterns

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

标签 统计

c++ ×4

vim ×3

clang ×2

llvm ×2

c ×1

c# ×1

caching ×1

ctags ×1

design-patterns ×1

dll ×1

gcc ×1

java ×1

oop ×1

performance ×1

windows ×1