草庐IT

native-code

全部标签

Docker Desktop启动错误:WSL integration with distro Ubuntu18.xx unexpectedly stopped with exit code 1.

具体原理不详,只是记录一下我解决的方法。(DockerEnginev20.10.8)启用/关闭Windows功能中的Hyper-v和“适用于Linux的Windows子系统”是打开的。尝试点击了DockerDesktop中的这两个按钮。Clean/Purgedata的执行时间很长,没等执行完我就重启了。另一个Restart执行完成之后显示DockerStopped。由于错误提示了Ubuntu18,我就在微软商店中安装了重启之后,启动DockerDesktop就好了。原理不详,希望能帮到你。

c++ - 从 Qt::Key 到 native 键盘代码

有没有办法将Qt::Key转换回native键盘代码(扫描代码或虚拟键代码)?QKeyEvent有两种方法:nativeScanCode()constquint32nativeVirtualKey()const所以本地代码和Qt:Key之间需要有一个映射。我正在寻找反函数Qt:Key->native代码根据“HowtoconvertaWindowsnativevirtualkeycodetoQt::Key?”,我希望qt\src\gui\kernel\qkeymapper_win.cpp中的映射,但我的src路径中不存在此文件(Qt5.2)。--编辑(Samoth的回答)--我现在可以

java - JNI : Overhead of holding Java object references within the native code?

我正在研究通过JNI将JRE集成到C++应用程序中。在C++应用程序中持有对Java对象的大量引用(JNI术语中的全局引用)的开销是多少?使用这种方法我应该注意什么问题(除了显而易见的问题,例如手动取消分配引用)吗? 最佳答案 (a)开销与从Java执行时一样。您正在阻止对象被垃圾收集。(b)在JNI调用中持有对象引用对JVM来说可能是致命的,除非你做得正确。您需要仔细阅读JNI规范中有关全局和本地引用的部分。您还需要考虑使用弱引用而不是全局引用。 关于java-JNI:Overhead

c# - 未导出成员函数时从 C# 调用 C++ native /非托管成员函数

我有一个非托管DLL,它仅导出一个C样式的工厂方法,该方法返回一个类的新实例(此处进行了简化以使其看起来简单)。你好.h#ifdefined(HWLIBRARY_EXPORT)//insideDLL#defineHWAPI__declspec(dllexport)#else//outsideDLL#defineHWAPI__declspec(dllimport)#endifstructHelloWorld{public:virtualvoidsayHello()=0;virtualvoidrelease()=0;};extern"C"HWAPIHelloWorld*GetHW();你好

c++ - 将 Gravity(一种脚本语言)调用转换为 native C 函数调用

我目前正在研究实现一种更简洁的方法来从Gravity调用nativeC函数脚本语言。到目前为止,最简单的例子是这个:intadd(intlhs,intrhs){returnlhs+rhs;}staticvoidgravity_wrap_add(gravity_vm*vm,gravity_value_t*args,uint32_tnargs,uint32_tretIndex,void*data){intlhs,rhs,rt;//Unwraplhs=VALUE_AS_INT(args[1]);rhs=VALUE_AS_INT(args[2]);//Performcall,capturere

.net - 由于 2 秒超时,并非所有 native 全局变量都在混合模式 .Net 应用程序中被破坏

在我的混合模式C++应用程序中,我注意到以下奇怪的效果:如果我在VisualStudio外部启动可执行文件,所有非托管全局变量都会被正确销毁。如果我在VisualStudio外部启动可执行文件,然后附加调试器,所有非托管全局变量都会被正确销毁。我在VisualStudio调试器中启动可执行文件,似乎并非所有非托管全局变量都被破坏。我读到.Net有2秒的清理超时。这是针对整个非托管全局变量销毁吗?或者这是每个析构函数?我很确定这2秒超时是原因,因为当我在doexit方法的开头设置断点时,调试器会在应用程序退出时停在那里。但是,如果我在doexit函数末尾附近设置断点,则永远不会命中该断点

来自 native C++ 加载的 DLL 的 C# 形式

这个问题来自这个线程:NativeC++useC#dllviaproxyC++manageddll简而言之,我正在通过DLL将(我的)C#扩展加载到native进程中。扩展需要显示一个表单,以便用户可以控制它。我使用的是标准.NET表单,没有第3方库或任何东西,而且我的表单没有显示。更糟糕的是,它会挂起目标进程。它没有使用任何CPU,所以我感觉它在等待某个函数返回,但从未这样做过。同样有趣的是弹出了“Initializemethod”消息框,但没有弹出“Test”消息框。我已经测试了所有我能想到的东西(STAthread、线程、DisableThreadLibraryCalls,以及不

c++ - Doxygen `@code` block 中的链接有时会丢失

我注意到当默认构造函数不带参数时,Doxygen可以链接来自实例的成员函数调用,但当构造函数带参数时无法链接它们。这是为什么?是否有在@code/@endcodeblock中手动添加链接的解决方法?在下面的例子中:t.foo()-foo()已链接u.foo()-foo()未链接./**@filedoxy.cpp*//**structT*/structT{/**foo*/voidfoo(){}};/**structU*/structU{inta;/** 最佳答案 我认为这是Doxygen中已知问题的征兆。来自http://www.do

c++ - 使用 native_handle() + pthread_cancel() 取消 std::thread

我正在将之前围绕pthreads的线程包装器转换为std::thread。但是c++11没有办法取消线程。尽管如此,我还是需要取消线程,因为它们可能正在外部库中执行非常冗长的任务。我正在考虑在我的平台中使用给我pthread_id的native_handle。我在Linux(Ubuntu12.10)中使用gcc4.7。这个想法是:#include#include#includeusingnamespacestd;intmain(intargc,char**argv){cout线程被pthreads抛出的异常取消。我的问题是:这种做法会不会有什么问题(除了不可移植)?

c++ - 我们从哪里获得 javacv 的 native 库 .so 文件?

所以我在运行一些javaCV代码时遇到了问题,虽然我已经在网上看到了很多针对它的修复,但没有一个有效。确切的错误是java.lang.UnsatisfiedLinkError:/tmp/javacpp/libjniopencv_core.socannotopensharedobjectfile:nosuchfileordirectory我查看了/usr/local/lib(它应该查看的位置),我在该目录中有一堆共享对象,例如libopencv_core.so.2.4。不过,它们的名称中都没有jni。这让我觉得我错过了一步。opencvjniso文件应该来自哪里?如果重要的话,我会在Ra