我需要浏览一个C/C++文件并提取类和方法列表以及它们在文件中的位置.
libclang是最好的选择吗?或者这项任务"太多"了吗?
只想寻找配对括号会更好吗?
如果选择libclang:有没有办法从c#调用它?
谢谢!
我正在运行使用.NET 2.0构建的.NET远程处理应用程序.它是一个控制台应用程序,虽然我删除了Main上的[STAThread].
我正在使用的TCP通道在后台使用ThreadPool.
据我所知,当在双核盒上运行时,在负载下,应用程序从不使用超过50%的CPU(尽管我已经在四核上看到它的70%或更多).
远程应用程序或ThreadPools的多核方面是否有任何限制?
是否需要更改某些内容才能在多个内核上运行多线程应用程序?
谢谢
我需要在表上更新大约250k行,并且每个要更新的字段将具有不同的值,具体取决于行本身(不是基于行id或键计算的,而是根据外部计算).
我尝试使用参数化查询,但事实证明它很慢(我仍然可以在SQL Server 2008中尝试使用表值参数SqlDbType.Structured,但我想在一些数据库上有一个通用的方法包括MySql,Oracle和Firebird).
制作大量的个人更新也很慢(比使用参数化查询进行数千次单独调用(往返!)快2倍)
如何创建临时表并运行加入我的表和tmp的更新?会更快吗?
我正在为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)
所以,据我所知,它不支持移动目录,然后在其中移动文件......这有点奇怪,不是吗?
有没有办法检索(使用select语句)Firebird中的blob字段的大小?
我有一个名为"数据"的字段,我想知道表中所有记录的总大小.
谢谢.
我想知道哪些是您作为开发人员使用的最常见(也是最有用的)shell扩展.我打赌列表上有以下内容,但我想知道你要添加的其他内容:
还有其他值得一提吗?
我对clang解析C/C++代码感兴趣,并且能够找到方法和函数.
是否可以使用clang来解析C++源代码文件并获取类和方法的集合以及它们所在的位置?
我正在编写一个C#应用程序,需要在某个时间点将大约600K条记录插入数据库.
它们是非常简单的记录:只有3个长.
我正在使用params来设置命令,然后循环遍历内存中的数据以进行插入,在每个循环中将值分配给命令参数并运行command.ExecuteNonQuery()
在SqlServer上完成大约需要50秒,而在MySql上它甚至更慢,而在平面文件上插入相同的数据只需要几毫秒.
我做错了什么或数据库太慢了?
我在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# ×4
c++ ×2
clang ×2
parsing ×2
ado.net ×1
firebird ×1
git ×1
mysql ×1
performance ×1
plasticscm ×1
sql ×1
sql-server ×1
windows ×1