小编Ste*_*eve的帖子

在目录中查找程序集

如何获取给定位置的装配列表?我试图反思appdomain,那就是给我带来的一切.我只想要执行程序集目录中的内容.

c# reflection

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

如何为我的C#项目支持linux

我有一个项目是一个开源应用程序,用于特定类型的科学计算,使用c ++作为后端,C#作为前端.我在c ++部分没有做任何特定于Windows的事情,所以我希望在那里有一个相对较小的学习曲线.我有几个具体的问题,我将非常感谢有关此类过渡的任何建议.请记住,我对Linux一无所知,但我愿意学习.

  1. 是否有类似于Visual Studio的IDE?理想情况下,我想以类似于现在的方式设置它,使用2个C#解决方案和几个c ++ dll.我真的不想单独使用文本编辑器并与命令行链接
  2. 是否有一些工具可以让我了解转型过程中可能遇到的问题?
  3. 反正有没有将我的Visual Studio选项转换为gcc选项?

我知道我不需要在技术上支持Linux,因为我的领域几乎每个人都使用Windows,或者可以轻松访问Windows机器,但我认为从技术角度来看这可能很有趣.

c# c++ mono interop

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

代码在VS2008中编译,但在VS2010中没有用于std :: set和boost :: trim

以下代码

#include "stdafx.h"
#include <string>
#include <set>
#include <boost/algorithm/string/trim.hpp>

int _tmain(int argc, _TCHAR* argv[])
{
    std::set<std::string> test;

    test.insert("test1   ");
    test.insert("test2 ");

    for(std::set<std::string>::iterator iter = test.begin(); iter != test.end(); ++iter)
    {
        boost::algorithm::trim(*iter);
    }

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

在VS2008中编译但在VS2010中因错误而失败

error C2663: 'std::basic_string<_Elem,_Traits,_Ax>::erase' : 3 overloads have no legal conversion for 'this' pointer    \boost\include\boost\algorithm\string\trim.hpp  
Run Code Online (Sandbox Code Playgroud)

这表明函数中的const匹配存在问题.如果我将set更改为vector,一切都很好.我也可以做一个

boost::algorithm::trim(const_cast<std::string&>(*iter));
Run Code Online (Sandbox Code Playgroud)

但我讨厌把它放在我的代码中,似乎我不应该这样,因为我没有在集合上使用const迭代器.如果这是预期的行为,为什么有人有任何想法?

boost stl visual-studio-2010

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

为vb6应用程序制作C#kill事件?

我有一个VB6应用程序,处理非常非常长的时间.直接杀死它是不可行的,所以我想在VB6应用程序中设置某种标志.如果在我的C#应用​​程序中我决定将其关闭,我想切换此标志以让VB6应用程序知道已请求关闭.现在,我还需要一些命名的东西,因为将有几个VB6应用程序作为activex exes旋转.有谁知道如何实现这样的东西?工作流程如下

C#app - 在单独的线程中旋转多个VB6 activex.exes,用某些东西初始化应用程序(以下称为标志)我可以在C#中更改,并调用DoStuff命令,这需要很长时间才能返回.

VB6 - 获取带有标志的initialize命令.DoStuff被调用.在DoStuff循环中,它检查标志是否仍然设置.

C# - 通过将标志设置为另一个状态来终止项目

有任何想法吗?

c# vb6 interop

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

查找具有正则表达式的字符的第n个出现的性能问题

我有一个正则表达式来查找nth字符串中出现的字符,这里是代码:

 public static int NthIndexOf(this string target, string value, int n)
    {
        Match m = Regex.Match(target, "((" + value + ").*?){" + n + "}");

        if (m.Success)
        {
            return m.Groups[2].Captures[n - 1].Index;
        }
        else
        {
             return -1;
        }
    }
Run Code Online (Sandbox Code Playgroud)

现在,我在这个字符串中有1594个条目,有1593个分号.如果我写:

tempstring.NthIndexOf(";", 1593) 
Run Code Online (Sandbox Code Playgroud)

答案立即正确回复.如果我给它任何超过1594的东西它会挂起.有谁知道如何解决这一问题?

测试用例

 string holder = "test;test2;test3";
        string test = "";
        for (int i = 0; i < 600; i++)
        {
            test += holder;
        }
        int index = test.NthIndexOf(";", 2000);
Run Code Online (Sandbox Code Playgroud)

这需要很长时间.将600更改为6,速度非常快.使2000至1700,它也非常快.

为什么我的正则表达式如此之慢?

.net c# regex

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

C++从下到上读取文件

我有一个非常大的文件需要解析,所以一次将它读入内存是不理想的.文件的结构方式,如果我可以从eof开始直到开头,那将会容易得多.有没有人有这样做的好方法?我正在使用Visual Studio 2008和C++.谢谢

c++ parsing

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

标签 统计

c# ×4

c++ ×2

interop ×2

.net ×1

boost ×1

mono ×1

parsing ×1

reflection ×1

regex ×1

stl ×1

vb6 ×1

visual-studio-2010 ×1