Valgrind线程错误检测工具Helgrind的文档,在这里find 警告说,如果你使用GCC编译你的OpenMP代码,GCC的OpenMP运行时库( libgomp.so )会导致数据争用的错误报告混乱,因为它使用primefaces机器指令和Linux futex系统调用而不是POSIX pthreads基元。 它告诉你可以通过使用–disable-linux-futexconfiguration选项重新编译GCC来解决这个问题。 所以我试了一下 我使用–disable-linux-futexconfiguration选项编译并安装到本地目录( 〜/ GCC_Valgrind / gcc_install )一个新的GCC版本4.7.0(本文最新版本)。 然后,我创build了一个小的OpenMPtesting程序( test1.c ),它没有可见的数据竞争: /* test1.c */ #include <omp.h> #include <stdio.h> #include <stdlib.h> #define NUM_THREADS 2 int a[NUM_THREADS]; int main(void) { int i; #pragma omp parallel num_threads(NUM_THREADS) { int tid = omp_get_thread_num(); a[tid] = tid + 1; } for (i = 0; […]
基本上,我只是用Malwarebytes扫描我的电脑(在运行之前更新了定义),它说我用C#编写的“helloworld”程序有一个木马 。 我知道这是一个误报,因为我在2-3天前只写了一个程序,然后跟着一个小教程网站来制作我信任的程序。 我是C#的新手,但是我什么也看不到有任何木马的警告。 该程序标记可执行文件,但不是源文件。 using System; namespace HelloWorldApplication { class HelloWorld { static void Main(string[] args) { Console.WriteLine("\n\tHello World!"); Console.WriteLine("This is my first C# program.\nI'm so proud of myself!"); Console.WriteLine("\tTeehee!"); } } } 这是用Notepad ++编写的代码,它是从命令行(实际上是Cygwin )运行的。 为什么会标记这个? 那么,作为一个新兴的C#程序员,我应该知道些什么呢?
我遇到了一个恼人的问题。 突然, Avira AntiVir开始将我的软件中的一个可执行文件标记为病毒。 由于几乎所有用户的默认操作都是单击“确定”,Avirabuild议将病毒置于隔离区,因此我的大多数用户正在删除此可执行文件。 那么,让我们不要傲慢,检查我是否确实感染了。 我把这个文件发布到http://www.virustotal.com ,而所有的反病毒只有Avira把它标记为感染病毒。 此外,我用两种不同的反病毒扫描我的电脑,它很干净。 我已经发布了一封邮件给我的用户解释发生了什么,但这是我的支持,我真的不想要的开销。 好的,问题是:有没有办法避免这种行为? 除了签署文件之外,我想不出别的办法(真的不知道它是否会解决),但让我们看看你是否有任何创意。