草庐IT

DLL_THREAD_ATTACH

全部标签

c++ - debian 和 std::thread c++ 的即时段错误

遇到这个问题-在标题中..我有这个代码:#include#includevoidmy_thread_func(){std::cout摘自网络某处。编译器选项-pthread-std=gnu++0x(也试过-std=c++0x)而且我有段错误。一切都在vmBox上的Debian上。我之前已经启动了其他代码,并且它们有效。突然间,我在所有工作应用程序中使用std::thread的线程上出现段错误。编辑:这是来自gdb:(gdb)where#00x00000000in??()#10x08048dc9inthread(this=0xbffff3fc,__f=0x8048b9f)at/usr/i

c++ - OpenMP Mac OSX Lion c++ 链接器错误 Undefined symbols for architecture x86_64 : "_omp_get_thread_num"

我在互联网上的任何地方都找不到这个问题。所以我的链接器错误是:Undefinedsymbolsforarchitecturex86_64:"_omp_get_thread_num()"这是我的代码:intnthreads;inttid;#pragmaompparallelprivate(tid){tid=omp_get_thread_num();if(tid==0){nthreads=omp_get_num_threads();printf("numberofthreads:%d\n",nthreads);}} 最佳答案 看起来你忘

c# - .NET Core 2 DLL 引用与 C++ 代码运行时错误

小介绍:我正在开发一个.NETCORE2项目,我需要可用于C#的第三方API,但当我检查(dotPeek)那个.dll时,我发现他们使用C++来实现某些功能。环境:VS2017Community,.NETCORE2x86,IISExpress问题:当我添加引用并构建项目时,除了引用处的警告(黄色感叹号)但没有解释外,我没有收到任何错误。当我向使用上述.dll中的类的REST端点发出请求时,我得到了。请注意,其他一切正常。System.TypeInitializationException:Thetypeinitializerfor''threwanexception.--->.Modu

c# - 在 Visual Studio C++ 中使用 DLL

我有一个DLL,我一直在VisualC#中使用它没有问题(只需添加引用并使用命名空间)。现在我正在尝试学习C++,但我不明白你如何从DLL中引用命名空间。我可以右键单击一个项目并选择“引用”,然后从那里单击“添加新引用”,但这只会为我提供一个空的“项目”窗口。我错过了什么? 最佳答案 在处理DLL引用方面,C++与C#/VB.Net很多不同。在C#中,执行引用所需的全部是DLL,因为它包含描述内部结构的元数据。编译器可以读取此信息,以便它们可以从另一个项目中使用。C++在DLL中没有C#中元数据的概念。相反,您必须以头文件的形式明确

c++ - MinGW/GCC 延迟加载 DLL 等价物?

我正在尝试将一些旧的MSVCC++代码移植到MinGW/GCC。一个问题是项目严重依赖/DELAYLOAD选项来获取并不总是使用的函数,以及运行时正确的dll所在的位置。MinGW/GCC上有类似的选项吗?这段代码是针对windows平台的。 最佳答案 我要补充一点,虽然延迟加载DLL看起来是Windows操作系统的一部分,但它们实际上是根据链接器生成的小stub来实现的。至少,过去是这样。因此,在Windows操作系统级别没有正式的“延迟加载”概念。有一个约定,基于链接器发出的二进制代码。

c++ - 无法从 C++ DLL 打开文件

我有一个应用程序,其GUI是用C#编写的,逻辑是用C++DLL编写的。DLL应打开一个文件以从中读取数据。我在与DLL相同的文件夹中有data.txt文件。当我打电话fopen("data.txt","r")返回值为NULL。可能是什么问题呢?请在这方面帮助我。谢谢,拉克什。 最佳答案 dll文件的位置无关紧要。您打开的路径必须包含完整路径,否则文件将打开到您的应用程序当前工作目录。 关于c++-无法从C++DLL打开文件,我们在StackOverflow上找到一个类似的问题:

C++ DLL 链接 Unresolved external

我有一个相当大的Core项目,我正在尝试调整它以使用我构建的DLL引擎,我遇到了一堆错误,例如:未解析的外部符号“私有(private):静态类”当在DLL中包含来自核心的一些header时,该类通过__declspec(dllexport)导出,但任何具有静态成员的header都会抛出大量关于静态成员的错误。这是一个相当大的项目,我不能跑来跑去删除我看到的每个静态类成员,有没有这种东西?正在导入的类的基本示例:class__declspec(dllexport)MyClass{public:staticboolm_someVar;}为了清楚起见,我只想说明m_someVar是在类实现

c++ - 外部 "C"DLL : Debug is OK, 发布抛出错误 C2059

我有一个作为C++Win32应用程序创建的DLL。为了防止在我的DLL中出现名称混淆,我使用了下面定义的EXPORT定义:#ifndefEXPORT#defineEXPORTextern"C"__declspec(dllexport)#endifEXPORTint_stdcallSteadyFor(doublePar[],doubleInlet[],doubleOutlet[]);为了编译这段代码,我必须进入项目的属性并将C/C++CallingConvention设置为__stdcall(/Gz)并设置CompileAs到CompileasC++Code(/TP)。这在Debug模式

c++ - 卸载注入(inject)的 DLL

我有一个DLL,我使用SetWindowsHookEx注入(inject)到其他进程中。在DLL中,我通过调用GetModuleHandleEx来增加模块的引用计数器,这样我就可以控制何时卸载模块。此时,来自这两个API调用的模块引用计数“应该”为2。当调用进程关闭时,它调用UnhookWindowsHookEx,将引用计数递减为1。DLL有一个线程等待一些事情,其中​​之一是调用的进程的句柄>设置WindowsHookEx。当进程消失时,DLL会进行一些清理,终止所有线程,清理内存和句柄,然后调用FreeLibraryAndExitThread。这会递减计数器并卸载DLL。这是我的问

c# - 您可以在 UWP 中的 C# 代码中使用 C++ DLL 吗?

我在VisualStudio中编写了一个C++类库,它只定义了一个调用某些Python的函数:#pragmaonce#includeextern"C"__declspec(dllexport)voidpython(){Py_Initialize();PyRun_SimpleString("2+2");}我在同一解决方案中创建了另一个项目,即C#BlankUniversal应用程序。我尝试引用我之前提到的项目生成的DLL:usingSystem;...namespaceStartupApp{...sealedpartialclassApp:Application{privateconst