小编ALO*_*LOR的帖子

在C#中进行线程化.可以中断的任务

在我的程序中,我有一些非常长的任务,应该可以从GUI(WPF)中断.有关线程架构的任何建议吗?

此任务看起来像N线程与此类代码:

public void DoLongOperation()
{
    for(int i=beginPoint; i<endPoint; i++)
    {
       doSomethingStupid(dataArray[i]);
    }
}
Run Code Online (Sandbox Code Playgroud)

c# concurrency

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

Ld神奇地覆盖了静态链接的符号

有几天我们正在处理非常奇怪的问题.

我无法理解它是如何发生的 - 当第三方(MATLAB)程序使用我们的共享库时,它以某种方式覆盖了我们的一些符号(提升,确切地说)是它自己的.这些符号是静态链接的,并且(!!)是本地的.

这是交易 - 我们使用boost 1.47,MATLAB提升1.40.目前,库在从OUR库调用boost(regex)时调用段错误.

所以,这是魔术:

  • 我们没有库依赖项,ldd:
    linux-vdso.so.1 =>  (0x00007fff4abff000)
    libpthread.so.0 => /lib/libpthread.so.0 (0x00007f1a3fd65000)
    libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f1a3fa51000)
    libm.so.6 => /lib/libm.so.6 (0x00007f1a3f7cd000)
    libgomp.so.1 => /usr/lib/libgomp.so.1 (0x00007f1a3f5bf000)
    libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007f1a3f3a8000)
    libc.so.6 => /lib/libc.so.6 (0x00007f1a3f024000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f1a414f9000)
    librt.so.1 => /lib/librt.so.1 (0x00007f1a3ee1c000)
  • 没有Cxx符号(我们的公共符号是POC C用于二进制兼容性)从我们的库中导出,nm:
nm -g --defined-only libmysharedlib.so

addr1 T OurCSymbol1
addr2 T OurCSymbol2
addr3 T OurCSymbol3
...
  • 不过,它使用了他们的提升.怎么样?Stacktrace(路径切割):
[  0] 0x00007f21fddbb0a9 bin/libmwfl.so+00454825 fl::sysdep::linux::unwind_stack(void const**, unsigned long, unsigned long, fl::diag::thread_context const&)+000009
[  1] 0x00007f21fdd74111 bin/glnxa64/libmwfl.so+00164113 fl::diag::stacktrace_base::capture(fl::diag::thread_context const&, unsigned long)+000161 …

c++ ld dlopen

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

如何覆盖两个图像(作为字节数组)

人们,我确信这很容易,但谷歌没有帮助......

这是任务 - 我有两个字节数组(作为ARGB),代表我的图像.它们的大小相同.我应该执行什么操作(逐字节)将一个图像叠加到另一个图像?第二张图像具有一定的透明度,必须予以考虑.

要清除,我正在寻找这样的代码:

          bytes[] result = new bytes[first.Length];
          for(i = 0; i< first.Lenght;i++)
          {
               result[i] = first[i] !!%SOMETHING%!! second[i];
          }
Run Code Online (Sandbox Code Playgroud)

简单的猜测,如按位OR(我知道 - 这是愚蠢的;))不起作用.

谢谢你的回答.

编辑:我不能使用标准库因为安全问题(所有这些奇怪的操作都发生在Silverlight上).

c# algorithm image bitmap

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

C#属性修改方法

所有.也许我没有用Google搜索,但我在这个问题上找不到任何例子.

在C#中可以创建一个自定义属性,该属性应用于类修改其所有方法吗?例如,添加Console.WriteLine("Hello, i'm modified method");为第一行(如果在运行时完成,则为IL等价物)?

c# reflection attributes

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

标签 统计

c# ×3

algorithm ×1

attributes ×1

bitmap ×1

c++ ×1

concurrency ×1

dlopen ×1

image ×1

ld ×1

reflection ×1