草庐IT

maven-native-plugin

全部标签

c# - 如何从 native C(++) DLL 调用 .NET (C#) 代码?

我有一个C#app.exe和一个C#my.dll。my.dll.NET项目链接到nativeC++DLL(mynat.dll)(外部CDLL接口(interface)),并且从C#调用C++DLL没有问题。(通过使用[DllImport("mynat.dll",CharSet=CharSet.Unicode,CallingConvention=CallingConvention.Cdecl)]属性。)我现在需要添加的是让C#dll提供一些C++代码可以调用的回调函数。理想情况下,mynat.dllC++代码将使用LoadLibrary("my.dll")来加载C#dll,然后使用Get

c++ - 托管 C++ dll 的加载程序锁定错误,静态链接到 native C++ 库

我有一个托管的c++dll,其中包含几个托管类,这些托管类依次调用库中的nativec++代码,我已静态链接到该dll。但是,如果我尝试在dll上运行RegAsm.exe,该工具会正确报告“我们没有注册任何类型”,但随后挂起。我很确定这是loaderlock问题,当RegAsm尝试加载它时我的dll挂起。我使用的是VisualStudio2008速成版。让我感到困惑的是,将native代码放入dll时一切正常,但从库中静态链接时却不行。我知道这篇文章类似于thisquestion但我的dll中没有没有DllMain,因此我没有从DllMain运行MSIL代码的风险。此外,遵循对单个文件

c++ - 在自定义 const native C++ 容器类上支持 "for each"

我想实现一个简单的nativeC++固定容量数组模板类,为了方便起见支持基于范围的“foreach”语法,开销最小。我在const实例上支持它时遇到问题。有了这个实现:templateclassList{public:List(){mSize=0;}constT*begin()const{returnmItems;}constT*end()const{returnmItems+mSize;}T*begin(){returnmItems;}T*end(){returnmItems+mSize;}private:size_tmSize;TmItems[Capacity];};和这种用法:c

c++ - Android 调试 native 代码

我正在使用ndk-r9,我正在努力让ndk-gdb为我工作。我已经启动了一个名为“LittlestAndroid”的小型Android应用程序,它对返回硬编码字符串的nativeC++方法进行了简单调用。该应用程序构建/安装/运行得很好。现在我正在重新调整应用程序的用途以了解ndk-gdb。我在list中设置了debuggable="true"。我在我的make中设置了这些环境变量:APP_OPTIM=debugLOCAL_CFLAGS:=-g我已经破解了$NDK_HOME/build/core/build-binary.mk文件,使用以下命令有条件地去除调试符号:$(LOCAL_IN

c++ - 使用 C++ 和 SQL Native Client 的 SQLGetData 问题

我有一个使用SQLNativeClient连接到MSSQLServer2000的C++应用程序。我正在尝试从包含比最初分配给它的缓冲区提供的数据更多的数据的TEXT列中检索结果。为了澄清我的问题,我将概述我在做什么(下面的代码):分配1024字节缓冲区使用使用SQLBindColumn将缓冲区绑定(bind)到列使用SQLExecute执行SELECT查询使用SQLFetch遍历结果SQLFetch无法将整个结果返回到我的缓冲区:我想使用SQLGetData检索整个列值上述操作顺序存在一个问题:SQLGetData对我的驱动程序中的绑定(bind)列不起作用。一个可行的解决方案是使用S

java - JNI 从 native 代码调用 JVM 函数/事件?

我想知道native函数是否有可能向Java函数/事件发出信号?基本上我想我会在一个单独的线程上运行一些C++代码并做一些事情,比如处理SIP,然后如果native线程检测到一个传入调用,则能够以某种方式向JVM发出信号。我不确定在JNI中如何进行这样的通信。有什么想法吗? 最佳答案 周围有几篇好文章,例如thisone.这是一个DeveloperWorks文章看起来也不错。 关于java-JNI从native代码调用JVM函数/事件?,我们在StackOverflow上找到一个类似的问

什么弹簧4配置[Java Onfig]和用于在没有Hibernate的Spring Desktop应用程序中添加MySQL和Spring数据的Maven依赖项?

在使用MySQL搜索弹簧数据后,所有结果添加了Hibernate依赖项,并且是配置。必须将冬眠添加到弹簧数据中,或者我只能使用春季数据而无需冬眠。看答案当然,您可以在不使用冬眠的情况下使用弹簧。如果您正在寻找MySQL的Maven依赖性将以下行添加到您的pom.xmlmysqlmysql-connector-java5.1.6

IDEA2021.3.2拉取maven报错maven-default-http-blocker解决方法

因为IDEA2021.3.2的Maven是3.8.1后,mvn编译的时候总是提示拉不到依赖,报错如下:Couldnotvalidateintegrityofdownloadfromhttp://0.0.0.0/...因为使用HTTP协议下载依赖,可能会导致中间人攻击。所以Maven3.8.1就禁止了所有HTTP协议的Maven仓库,而IDEA2021.3.2使用了Maven3.8.1很多公司内部的maven仓库一般都是http协议,而Maven3.8.1禁止了http协议,那么就会导致开头的报错。  解决方案:方案1:替换使用的Maven为3.6.3版本https://dlcdn.apache

c++ - 如何在 native Node 模块中维护零拷贝?

我正在为具有零拷贝数据查找功能的进程内数据库编写nativeNode模块。我希望我的模块也有这种能力。换句话说,当我从数据库中获取数据时,我想将数据传递给V8,而不需要复制内存或解析某些东西。我该怎么做?到目前为止,我所看到的所有方法都涉及在JSON之间来回解析(在这种情况下非常浪费资源)或实例化V8数据结构并将数据复制到其中。注意:如果您想知道,零复制数据查找意味着(简而言之)数据库引擎在检索数据时不需要复制内存。 最佳答案 我想我找到了解决方案,尽管它相当有限。可以在此处找到有趣的文档:https://developers.go

c++ - Qt 应用程序 : Failed to load platform plugin “windows”

我在互联网上看到过很多关于这个特定错误消息的话题。我所看到的所有答案似乎都假定用户已经听说过一种叫做Qt的东西并且想用Qt做一些事情。我在运行TeXworks时收到此消息。多年来,TeXworks对我来说一直很完美,直到有人付钱为我的电脑做一些维护,决定删除我的所有文件,然后用机器人的声音向我背诵样板通知。我从未在任何其他方面听说过Qt,我对Qt也不感兴趣。我试图让TeXworks像往常一样运行。是否有可能给出关于如何处理这个问题的答案,而不是假设我是带着对Qt的某种兴趣和知识来到这里的? 最佳答案 首先,检测丢失了哪些.dll文件