小编pab*_*blo的帖子

如何解析/简单分析C#中的C/C++代码以获取方法列表

我需要浏览一个C/C++文件并提取类和方法列表以及它们在文件中的位置.

libclang是最好的选择吗?或者这项任务"太多"了吗?

只想寻找配对括号会更好吗?

如果选择libclang:有没有办法从c#调用它?

谢谢!

c++ parsing clang

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

多线程应用程序是否绑定到单个核心?

我正在运行使用.NET 2.0构建的.NET远程处理应用程序.它是一个控制台应用程序,虽然我删除了Main上的[STAThread].

我正在使用的TCP通道在后台使用ThreadPool.

据我所知,当在双核盒上运行时,在负载下,应用程序从不使用超过50%的CPU(尽管我已经在四核上看到它的70%或更多).

远程应用程序或ThreadPools的多核方面是否有任何限制?

是否需要更改某些内容才能在多个内核上运行多线程应用程序?

谢谢

c# performance multithreading

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

使用SQL更新250k行的更快方法

我需要在表上更新大约250k行,并且每个要更新的字段将具有不同的值,具体取决于行本身(不是基于行id或键计算的,而是根据外部计算).

我尝试使用参数化查询,但事实证明它很慢(我仍然可以在SQL Server 2008中尝试使用表值参数SqlDbType.Structured,但我想在一些数据库上有一个通用的方法包括MySql,Oracle和Firebird).

制作大量的个人更新也很慢(比使用参数化查询进行数千次单独调用(往返!)快2倍)

如何创建临时表并运行加入我的表和tmp的更新?会更快吗?

c# sql ado.net

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

git快速导出格式和空格

我正在为Plastic SCM编写快速导出/快速导入,但是我在处理名称中包含空格的目录和文件时遇到了问题.

例如,一个git fast-export类似于:

git mv "new directory" "second directory"
Run Code Online (Sandbox Code Playgroud)

最终导出为:

D new directory/hello.c
M 100644 :1 second directory/hello.c
Run Code Online (Sandbox Code Playgroud)

而不是" move" (R)操作.名称中包含空格的文件也是如此.

有没有办法正确处理它?
这是否意味着Git无法处理带空格的路径上的重命名?

编辑下面的一个真实例子:

我在提交时有这样的事情:

  R src/samples/sampledata src/samples/samplebase
* R src/samples/samplebase/Test.Workflow.xml src/samples/samplebase/new/Test.Workflow.xml
Run Code Online (Sandbox Code Playgroud)

它无法导入说法

fatal: Path src/samples/samplebase/Test.Workflow.xml not in branch
Run Code Online (Sandbox Code Playgroud)

所以,据我所知,它不支持移动目录,然后在其中移动文件......这有点奇怪,不是吗?

git plasticscm

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

Firebird中blob字段的大小

有没有办法检索(使用select语句)Firebird中的blob字段的大小?

我有一个名为"数据"的字段,我想知道表中所有记录的总大小.

谢谢.

firebird

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

最有用的Explorer shell扩展

我想知道哪些是您作为开发人员使用的最常见(也是最有用的)shell扩展.我打赌列表上有以下内容,但我想知道你要添加的其他内容:

  • Tortoise SVN
  • Tortoise Hg
  • 乌龟XXX(Git,CVS,等等)

还有其他值得一提吗?

windows windows-shell

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

libclang:获取方法位置的集合

我对clang解析C/C++代码感兴趣,并且能够找到方法和函数.

是否可以使用clang来解析C++源代码文件并获取类和方法的集合以及它们所在的位置?

parsing clang

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

600K记录的数据库或平面文件?

我正在编写一个C#应用程序,需要在某个时间点将大约600K条记录插入数据库.

它们是非常简单的记录:只有3个长.

我正在使用params来设置命令,然后循环遍历内存中的数据以进行插入,在每个循环中将值分配给命令参数并运行command.ExecuteNonQuery()

在SqlServer上完成大约需要50秒,而在MySql上它甚至更慢,而在平面文件上插入相同的数据只需要几毫秒.

我做错了什么或数据库太慢了?

c# mysql sql-server

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

C#Hashtable vs c ++ hash_map

我在C++和C#中比较以下代码,而C#(Mono 2.4)似乎更快.C++代码有什么问题吗?

 #include <map>
 #include <string>
 #include <iostream>
 #include <ext/hash_map>
 #include <boost/any.hpp>

 int main()
 {
    //std::map<long, long> m;
    // hash_map is a little bit faster
    __gnu_cxx::hash_map<long, long> m;

    for( long i = 0; i < 1000000; ++i )
    {
        m[i]  = i;
    }

 }
Run Code Online (Sandbox Code Playgroud)

和C#

 using System;
 using System.Collections;

 public int Main()
 {
     Hashtable m = new Hashtable();

     for( long i = 0; i < 1000000; ++i )
     {
        m[i]  = i;
     }

}
Run Code Online (Sandbox Code Playgroud)

C#代码实际上是同一台机器的两倍.

$ time ./a.out

real    0m1.028s …
Run Code Online (Sandbox Code Playgroud)

c# c++

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