小编Mar*_*nBE的帖子

c#逐字表示字符串的正则表达式(处理"类似转义")

我正在尝试从rc文件中提取信息.在这些文件中,"字符串中的-chars通过将它们加倍("")来转义为类似于c#逐字字符串.是否可以提取字符串?

例如,如果我有以下字符串"this is a""test"""我想获得这是一个""测试"".它也必须是非贪婪的(非常重要).

我试过使用以下正则表达式;

"(?<text>[^""]*(""(.|""|[^"])*)*)"
Run Code Online (Sandbox Code Playgroud)

然而,表现很糟糕.我基于这里的解释:http://ad.hominem.org/log/2005/05/quoted_strings.php

有没有人有任何想法使用正则表达式处理这个?

.net c# regex escaping verbatim-string

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

在非托管C++项目中使用C#COM - > 0x7697C41F的第一次机会异常(KernelBase.dll)

我试图在非托管的Visual C++解决方案中调用C#COM项目中的方法,但我不断收到下一个错误

First-chance exception at 0x7697C41F (KernelBase.dll) in Program.exe: 0x04242420 (parameters: 0x31415927, 0x6F310000, 0x00BBDAE8).
Run Code Online (Sandbox Code Playgroud)

在下一段代码中

SalesForceNew::IMyObjectClassPtr p;
p.CreateInstance(__uuidof(SalesForceNew::TestObject)); // error
SalesForceNew::MyObject mo = p->getObject(1, "a");
Run Code Online (Sandbox Code Playgroud)

然而,值mo是预期的(5,"aa").

我用这行代码导入tlb文件:

#import "C:\Users\Bob\Desktop\ComTest\SalesForceNew\bin\x86\Debug\SalesForceNew.tlb" named_guids
Run Code Online (Sandbox Code Playgroud)

C#项目如下:

界面:

using System.Runtime.InteropServices;

namespace SalesForceNew
{
    [ComVisible(true)]
    [Guid("22901ACD-CA30-4D3E-B84B-73B707026AE5")]
    public interface IMyObjectClass
    {
        MyObject getObject(int i, string s);
    }

    [ComVisible(true)]
    [StructLayout(LayoutKind.Sequential)]
    public struct MyObject
    {
        public int Getal;
        public string Text;
    }
}
Run Code Online (Sandbox Code Playgroud)

实现接口的类:

using System.Runtime.InteropServices;

namespace SalesForceNew
{
    [ClassInterface(ClassInterfaceType.None)]
    [Guid("234A2A35-F270-458D-A67B-C834EB794B27")]
    [ComVisible(true)]
    public class TestObject : IMyObjectClass
    { …
Run Code Online (Sandbox Code Playgroud)

.net c# com com-interop visual-c++

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

如何在 Google Test 中使用不同模板测试多个模板化类的相同行为?

我正在 C++ 17 中练习排序算法,并按如下方式实现了我的单元测试(以下编译和所有测试都是绿色的):

template <typename T>
class SortingmethodTest : public ::testing::Test
{
protected:   
    T sortingmethod;

    static constexpr int amount_test_data[7] = {0, 4, 8, 10, 256, 1000, 1234};
};

using sortingmethods = ::testing::Types<STLSort<int>,
                                         InsertionSort<int>,
                                         ShellSort<int>,
                                         MergeSort<int>,
                                         OptimizedMergeSort<int>,
                                         QuickSort<int>>;

TYPED_TEST_SUITE(SortingmethodTest, sortingmethods);

TYPED_TEST(SortingmethodTest, sort)
{
    for (const auto& amount : this->amount_test_data)
    {
        Sortvector<int> test(amount);
        test.vul_random_zonder_dubbels(); // Fills the vector

        this->sortingmethod(test); // operator() of the sortmethod used (STLSort, InsertionSort, ...) sorts the vector

        ASSERT_TRUE(test.is_range());
        ASSERT_TRUE(test.is_gesorteerd());
        ASSERT_TRUE(std::is_sorted(test.begin(), test.end()));
    }
}

TYPED_TEST(SortingmethodTest, sort_reverse)
{
    // …
Run Code Online (Sandbox Code Playgroud)

c++ googletest

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

手动链接时 Clang 不生成 profraw 文件

我正在尝试clang使用llvm-cov和的分析功能llvm-profdata。我已经使用 CMake 设置了所有内容,但它没有default.profraw按预期生成。我手动尝试了这些步骤,发现如果我将生成目标文件和编译可执行文件之间的步骤分开,则clang不会生成文件。default.profraw

\n\n

例如,以下作品:

\n\n
$ clang++ -g -O0 -fprofile-instr-generate -fcoverage-mapping -std=gnu++2a binoperator.cpp main.cpp\n$ ./a.out\n38\nDone...\n$ ls -al default.profraw\n-rw-rw-r--. 1 marten marten 224 May 13 13:59 default.profraw\n
Run Code Online (Sandbox Code Playgroud)\n\n

以下内容不起作用(这大致是 CMake 尝试做的事情):

\n\n
$ clang++ -g -O0 -fprofile-instr-generate -fcoverage-mapping -std=gnu++2a -o binoperator.cpp.o -c binoperator.cpp\n$ clang++ -g -O0 -fprofile-instr-generate -fcoverage-mapping -std=gnu++2a -o main.cpp.o -c main.cpp\n$\xc2\xa0clang++ -o a.out binoperator.cpp.o main.cpp.o \n$\xc2\xa0./a.out\n38\nDone...\n$ ls -al default.profraw\nls: cannot access \'default.profraw\': No such file or directory\n …
Run Code Online (Sandbox Code Playgroud)

c++ clang llvm-clang clang++

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