草庐IT

hadoop-native-library

全部标签

c++ - 使用 rundll32.exe 调试 native dll,无法加载符号

我正在编写一个nativedll,该dll将与rundll32.exe一起运行(这是我们客户的义务)。我使用VS的调试属性来定义:Command:c:\windows\system32\rundll32.exeCommandArgument:$(TargetPath),ENTRY_POINTENTRY_POINT是我的dll的导出函数,它遵循rundll32.exe接口(interface)。此设置调用我的函数,但不会加载任何符号,因此不会触发任何断点。我了解到我的函数只有在调用MessageBox入口后才会被调用。当我使用自己的容器应用程序时(只是一个exe调用Loadlibrary

.net - 托管 System::Diagnostics::Debugger::Launch 函数的非托管/ native 替代方案?

我有一个混合模式应用程序,如果在内部数据结构中发现错误,我想在其中启动调试器。奇怪的是,DebugBreak和__debugbreak函数似乎没有按预期工作(.Net框架似乎拦截了断点异常,导致各种讨厌的副作用)。我之前的问题的解决方案(参见BehaviorofDebugBreakdiffersbetweenunmanagedandmixed(unmanaged+managed)application?)似乎适用于非常简单的情况,但不适用于我的应用程序(它只会让我的应用程序挂起)。幸运的是,我发现执行System::Diagnostics::Debugger::Launch似乎可以解决

c++ - native CheckedListBox?

在.NET领域,有非常有用的System.Windows.Forms.CheckedListBox类。WindowsCommonControls中的等价物是什么?(如果有的话) 最佳答案 将ListView变成带有复选框的View。如果您希望它类似于ListBox,请仅使用1列。ListView_SetExtendedListViewStyle(handle,LVS_EX_CHECKBOXES|LVS_EX_FULLROWSELECT); 关于c++-nativeCheckedListB

c# - Microsoft Bot 框架示例语音到文 native 器人 - clientid 和 clientSecret

更新和GitHub示例要查看有关SpeechtoText的示例代码,请参阅MicrosoftBotBuilderGitHub.我的GitHub上也有一些个人示例,从我的LUISBankingBot开始。.原帖开始使用ExampleSpeechtoTextBot时遇到问题.在代码片段中,它要求提供clientid和clientSecret,但我不确定在哪里可以找到它们。在我的FreeSubscriptions(Bing搜索-特别是免费的)我只有一个Key1和Key2,不确定clientid和clientSecret信息可以存放在哪里。我相信我无法在教程中继续前进,除非在我可以找到clie

c++ - Boost 1.66.0 : could not find boost libraries :boost_system, boost_filesystem、boost_thread、boost_date_time

我的配置是:操作系统:Windows10x64boost:1.66.0CMake:3.10VisualStudio:2017我正在以这种方式编译boost:bootstrap.\b2--build-dir=buildtoolset=msvcaddress-model=64--build-type=completestage运行CMake时出现此错误:couldnotfindboostlibraries:boost_systemboost_filesystemboost_threadboost_localeboost_date_time我搜索这些库,它们位于stage文件夹中。我尝试了B

c++ - wcslen 是 ISO/IEC 14882 :2003 C++ standard library? 的一部分吗

在Windows下将C++程序从32位移植到64位时,我意识到不支持_tcslen,而是应该使用strlen/wcslen(对于非unicode/unicode)。我开始怀疑如果wcslen是ISO/IEC14882:2003C++标准库的一部分。我看到g++和VC++都支持这个函数。也在opengroup我找到了一个引用说明该引用页上描述的功能符合ISOC标准,但没有提及它是C89还是c99。是否在某处记录了_tcslen与Win64不兼容?即使是MSDNLink什么都没暗示。对于Unicode,是否会无意中使用wcslen而不是_tcslen? 最佳答案

c++ - 从线程中获取 native 句柄?

我正在使用VS2012,我想在运行的线程中设置线程优先级。目标是用最高优先级状态初始化所有线程。为此,我想为线程获取一个HANDLE。我在访问对应于thread对象的指针时遇到一些问题。这可能吗?从调用主线程,指针是有效的,从C++11线程它被设置为CCCCCCCC。可以预见的是,取消引用一些无意义的内存位置会导致崩溃。下面的代码是显示问题的简化版本。#include"stdafx.h"#include#include#include#include#include#includeusingnamespacestd;classthreadContainer{thread*mT;cond

java - 如何解决 "java.lang.UnsatisfiedLinkError: Can' t find dependent libraries"without System32?

我正在Eclipse上开发一个Java项目,它通过JNI使用C++OpenCV库。一些图像处理算法在native端使用OpenCV实现,我希望使用JNI从java中使用它们。我已经构建了一个C++DLL项目来链接到Java,这导致了一个MyLibrary.dll文件。我使用GCC6.3编译器编译了OpenCV,并在EclipseCDT上使用相同的GCC6.3编译器(以及MinGW链接器)编译了C++代码。我还使用DependencyWalker检查了是否存在任何依赖性问题.到目前为止我没有任何错误。之后,我尝试从Java代码加载库,如下所示:System.loadLibrary("My

java - 从 JNI 中的 native 代码退出会杀死 Java 应用程序

我正在从JNI调用我的nativedll的方法。它工作正常,但在我的native代码中的一个地方,我正在调用exit(1)以便native代码停止工作但发生的事情是它也导致退出我的java应用程序。我错过了什么吗?JNI中是否有任何方法可以让我只能终止native代码而不是整个Java应用程序?编辑:基本上我是用native代码加密文件。我希望它在有人从java取消操作时停止加密。如有任何帮助,我们将不胜感激。 最佳答案 JNInative代码和JVM在同一个进程中运行。由于exit关闭进程,它也将结束JVM。杀死在native代码

windows - 在 native 代码中使用 Windows 环境变量

//IhaveapermissiontocreateafiletoProgramFilesconststd::wstringsFileName=L"%ProgramFiles%\\aaa.txt";HANDLEh=CreateFileW(sFileName.c_str(),GENERIC_READ,FILE_SHARE_DELETE,0,CREATE_ALWAYS,0,0);//INVALID_HANDLE_VALUEwithERROR_PATH_NOT_FOUND我预计它会使C:\ProgramFiles\aaa.txt或C:\ProgramFiles(x86)\aaa.txt取决于