草庐IT

DLL_THREAD_ATTACH

全部标签

c# - 在 C++Builder 中使用 C# .NET DLL?

如何在C++Builder中使用C#.NETDLL?我想在C++Builder中使用C#dll类的功能。 最佳答案 为了在Windows下从非托管代码调用托管代码,您几乎必须通过COM。在您的情况下,这意味着将您的C#库构建为COMVisible并将其注册为COMInteroperation。然后您需要以正常方式从C++代码调用您的COM对象。有一个很好的答案here它完成了实现这一目标所需的步骤。 关于c#-在C++Builder中使用C#.NETDLL?,我们在StackOverfl

c++ - Delphi 应用程序无法调用简单的 C++ DLL 函数

我想编写一个C++DLL并从Delphi6应用程序调用它。我从教程中的简单HelloWorld代码开始,尽管它在从C++程序调用时运行良好,但在Delphi应用程序中它会导致以下错误消息MyDll.h#ifndef_MY_DLL_H_#define_MY_DLL_H_#ifdefinedMY_DLL#defineMYDLL_API__declspec(dllexport)#else#defineMYDLL_API__declspec(dllimport)#endifextern"C"{MYDLL_APIintHelloWorld();}#endifMyDll.cpp#defineMY_

c++ - 如何调试 Notepad++ DLL 插件?

我正在尝试使用VisualStudioCommunity2013为Notepad++编写一个插件dll从解决方案构建得很好,如果我将它复制到notepad++/plugins目录,我可以测试功能。但是,我现在想调试它,但无法启动调试器。我尝试关注paint.netguide但我仍然得到错误Unabletostartprogram.....dll在配置属性-调试下的项目属性中,我有以下设置:Command=C:\tools\Notepad++\notepad++.exeWorkingDirectory=C:\tools\Notepad++配置属性-构建事件-我拥有的构建后事件:Comma

c++ - 如何将可变参数传递给 std::thread?

我想通过包装C++11中的std::thread类来使用我自己的Thread实现,这样我就能够按我想要的方式处理异常。这是我的包装类:#include#include#include#includeclassThread{private:std::exception_ptrexceptionPtr;std::threadthread;public:usingId=std::thread::id;usingNativeHandleType=std::thread::native_handle_type;Thread()noexcept=default;Thread(Thread&&t)n

c++ - 我可以在 DLL 中组织类吗?

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭6年前。Improvethisquestion我承认这个问题听起来很笼统。但毕竟,从DLL导出类是一个普遍而困难的话题,坦率地说,我目前在一个相当普遍的层面上感到困惑。简短的问题:C++和DLL中的面向对象编程如何结合在一起?长题:看完this和this,我有点失望和困惑,因为我想知道如果DLL边界不允许共享对象(假设两个DLL使用了不同的编译器或编译器版本),面向对象编程如何与DLL一起工作。导出类的唯一选项是这些(如here或here所述):导出

c++ - 通过调用 CreateRemoteThread : crash 弹出 dll

我正在尝试为自己制作一个从进程中提取/释放dll的工具。我已经体验过LoadLibrary和注入(inject),但这次逻辑似乎不适用。这是我的代码:HMODULEfindModuleOffset(HANDLEproc,char*mod_name){//Findsmoduleaddressinspecifiedprocess.0ifnotfoundHMODULEhMods[2048];DWORDmodules_byte_size;if(EnumProcessModules(proc,hMods,sizeof(hMods),&modules_byte_size)){for(unsigne

c++ - std::thread::join 何时会因 no_such_process 而失败

std::thread::join()允许失败,如果线程“无效”,则为no_such_process抛出std::system_error。请注意,no_such_process情况不同于不可连接的线程(错误代码为invalid_argument)。在什么情况下会发生这种情况?或者,我必须怎么做才能确保join()不会因此而失败?我想要一个析构函数join()它管理的一些线程,当然我希望析构函数永远不会抛出异常。什么可以使(正确构造且未被破坏的)线程“无效”。 最佳答案 Inwhatcircumstancesmightthathap

c++ - 从 dll 使用 Pantheios 日志记录框架

我正在尝试从c++dll中使用pantheios日志记录框架。我已经成功构建了dll,它通过我的测试应用程序(C++MFC应用程序)执行。我使用了隐式链接,包括:#include#include#include我的DllMain使用以下调用初始化pantheios:extern"C"constcharPANTHEIOS_FE_PROCESS_IDENTITY[]="FinishingLineController";BOOLAPIENTRYDllMain(HMODULEhModule,DWORDul_reason_for_call,LPVOIDlpReserved){switch(ul_

c++ - DVP7010B 显卡 DLL 的 C++ 头文件的 Delphi 转换?

我需要帮助将C++头文件转换为Delphi。下面是原始头文件和我的Delphi翻译。C++header:#if_MSC_VER>1000#pragmaonce#endif//_MSC_VER>1000#ifdefDVP7010BDLL_EXPORTS#defineDVP7010BDLL_API__declspec(dllexport)#else#defineDVP7010BDLL_API__declspec(dllimport)#endif#defineMAXBOARDS4#defineMAXDEVS4#defineID_NEW_FRAME37810#defineID_MUX0_NEW

c# - 创建 C++ DLL,然后在 C# 中使用它

好的,我正在尝试创建一个C++DLL,然后我可以在C#应用程序中调用和引用它。我已经使用大量指南制作了一个简单的dll,但是当我尝试在C#应用程序中引用它时,出现错误无法加载DLL“SDES.dll”:找不到指定的模块。该程序的代码如下(请耐心等待,我将包含所有文件)//ThesearetheDLLFiles.#ifndefTestDLL_H#defineTestDLL_Hextern"C"{//Returnsa+b__declspec(dllexport)doubleAdd(doublea,doubleb);//Returnsa-b__declspec(dllexport)doubl